{
  "info": {
    "name": "Jam — mcp.ai",
    "description": "REST API for the Jam 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/jam",
      "type": "string"
    },
    {
      "key": "apiKey",
      "value": "sk_live_...",
      "type": "string"
    }
  ],
  "item": [
    {
      "name": "jam_analyze_video",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/analyze/video",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "analyze",
            "video"
          ]
        },
        "description": "Extract structured user goals, reported issues, feedback, visual observations, interactions, and technical indicators from a video Jam.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"jam_id\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "jam_get_console_logs",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/get/console/logs",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "get",
            "console",
            "logs"
          ]
        },
        "description": "Get captured browser console errors, warnings, information, debug output, and stack traces from a Jam.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"limit\": 0,\n  \"cursor\": 0,\n  \"jam_id\": \"\",\n  \"log_levels\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "jam_get_jam_details",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/get/jam/details",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "get",
            "jam",
            "details"
          ]
        },
        "description": "Get the core details and debugging context for a Jam. Call this first before requesting logs, events, screenshots, frames, or transcripts.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"jam_id\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "jam_get_jam_metadata",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/get/jam/metadata",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "get",
            "jam",
            "metadata"
          ]
        },
        "description": "Get custom application debugging context attached through the jam.metadata() SDK, such as user IDs, versions, and feature flags.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"jam_id\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "jam_get_network_requests",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/get/network/requests",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "get",
            "network",
            "requests"
          ]
        },
        "description": "Get captured HTTP requests and WebSocket frames from a Jam, with filters for failures, hosts, methods, content types, and response bodies.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"hosts\": \"\",\n  \"limit\": 0,\n  \"bodies\": \"\",\n  \"cursor\": 0,\n  \"jam_id\": \"\",\n  \"methods\": \"\",\n  \"status_codes\": \"\",\n  \"content_types\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "jam_get_recording_link",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/get/recording/link",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "get",
            "recording",
            "link"
          ]
        },
        "description": "Get one Recording Link's settings and submitted-Jam count by public ID.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"public_id\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "jam_get_screenshots",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/get/screenshots",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "get",
            "screenshots"
          ]
        },
        "description": "Get screenshots and image attachments from a screenshot-type Jam for visual inspection.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"jam_id\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "jam_get_user_events",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/get/user/events",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "get",
            "user",
            "events"
          ]
        },
        "description": "Get the chronological user interaction timeline from a Jam, including clicks, inputs, submissions, navigation, and scrolling.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"limit\": 0,\n  \"cursor\": 0,\n  \"jam_id\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "jam_get_video_frames",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/get/video/frames",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "get",
            "video",
            "frames"
          ]
        },
        "description": "Get still frames from a video Jam as an overview grid, exact timestamps, or an evenly sampled time window. Exactly one of those three modes is required: set overview=true, timestamps_ms, or from_ms wi",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"size\": \"\",\n  \"count\": 0,\n  \"to_ms\": 0,\n  \"jam_id\": \"\",\n  \"from_ms\": 0,\n  \"overview\": false,\n  \"timestamps_ms\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "jam_get_video_transcript",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/get/video/transcript",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "get",
            "video",
            "transcript"
          ]
        },
        "description": "Get the timestamped WebVTT speech transcript from a microphone-enabled video Jam when available; otherwise return Jam's explanation that it is pending or unavailable.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"jam_id\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "jam_list_folders",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/list/folders",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "list",
            "folders"
          ]
        },
        "description": "Browse or search one page of workspace folders and return their IDs, names, Jam counts, and timestamps; pass next_cursor as cursor to continue.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"limit\": 0,\n  \"query\": \"\",\n  \"cursor\": \"\",\n  \"order_by\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "jam_list_jams",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/list/jams",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "list",
            "jams"
          ]
        },
        "description": "Search and browse workspace Jams by text, type, folder, author, source URL, or creation date. Returns one page; pass next_cursor as cursor to continue.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"url\": \"\",\n  \"limit\": 0,\n  \"query\": \"\",\n  \"author\": \"\",\n  \"cursor\": \"\",\n  \"folder\": \"\",\n  \"jam_type\": \"\",\n  \"order_by\": \"\",\n  \"created_at\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "jam_list_members",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/list/members",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "list",
            "members"
          ]
        },
        "description": "Browse or search one page of workspace members by name or email for author discovery and attribution; pass next_cursor as cursor to continue.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"limit\": 0,\n  \"query\": \"\",\n  \"cursor\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "jam_list_recording_domains",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/list/recording/domains",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "list",
            "recording",
            "domains"
          ]
        },
        "description": "List the workspace's connected recording domains and whether each is verified to capture console and network logs.",
        "body": {
          "mode": "raw",
          "raw": "{}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "jam_list_recording_link_jams",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/list/recording/link/jams",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "list",
            "recording",
            "link",
            "jams"
          ]
        },
        "description": "List Jams submitted through one Recording Link, newest first. Returns one page; pass next_cursor as cursor to continue when has_more is true.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"limit\": 0,\n  \"cursor\": \"\",\n  \"public_id\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "jam_list_recording_links",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/list/recording/links",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "list",
            "recording",
            "links"
          ]
        },
        "description": "List workspace Recording Links newest first, optionally including revoked links. Returns one page; when has_more is true, pass next_cursor as cursor to continue.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"limit\": 0,\n  \"cursor\": \"\",\n  \"include_revoked\": false\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    }
  ]
}