{
  "info": {
    "name": "VLM Run — mcp.ai",
    "description": "REST API for the VLM Run 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/vlm_run",
      "type": "string"
    },
    {
      "key": "apiKey",
      "value": "sk_live_...",
      "type": "string"
    }
  ],
  "item": [
    {
      "name": "vlm_run_create_skill",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/create/skill",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "create",
            "skill"
          ]
        },
        "description": "Create a reusable skill from exactly one uploaded zip, prompt, or chat session.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"name\": \"\",\n  \"prompt\": \"\",\n  \"file_id\": \"\",\n  \"is_public\": false,\n  \"session_id\": \"\",\n  \"description\": \"\",\n  \"json_schema\": {}\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "vlm_run_discover_extraction_schemas",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/discover/extraction/schemas",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "discover",
            "extraction",
            "schemas"
          ]
        },
        "description": "List supported structured-extraction domains, or return the full JSON schema for one domain when domain is provided.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"config\": {},\n  \"domain\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "vlm_run_execute_agent",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/execute/agent",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "execute",
            "agent"
          ]
        },
        "description": "Start a VLM Run agent execution from an existing agent name or inline configuration over multimodal inputs. Execution may consume credits and is asynchronous by default; poll the returned ID with VLM_",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"batch\": false,\n  \"model\": \"\",\n  \"config\": {},\n  \"inputs\": {},\n  \"metadata\": {},\n  \"agent_name\": \"\",\n  \"request_id\": \"\",\n  \"callback_url\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "vlm_run_extract_structured_json",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/extract/structured/json",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "extract",
            "structured",
            "json"
          ]
        },
        "description": "Start structured JSON extraction from images, a document, a video, or audio using a domain, custom schema, or skill. Extraction may consume credits; document, video, and audio runs are asynchronous by",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"url\": \"\",\n  \"batch\": false,\n  \"model\": \"\",\n  \"config\": {},\n  \"domain\": \"\",\n  \"images\": \"\",\n  \"file_id\": \"\",\n  \"metadata\": {},\n  \"modality\": \"\",\n  \"request_id\": \"\",\n  \"callback_url\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "vlm_run_find_files",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/find/files",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "find",
            "files"
          ]
        },
        "description": "List uploaded files or find one by file ID or MD5 hash. In list mode, use offset and limit until has_more is false.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"limit\": 0,\n  \"offset\": 0,\n  \"file_id\": \"\",\n  \"md5_hash\": \"\",\n  \"generate_public_url\": false\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "vlm_run_find_skills",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/find/skills",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "find",
            "skills"
          ]
        },
        "description": "List VLM Run skills or find one exact skill by ID, name, and optional version. In list mode, continue from next_offset while has_more is true.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"name\": \"\",\n  \"limit\": 0,\n  \"offset\": 0,\n  \"grouped\": false,\n  \"version\": \"\",\n  \"order_by\": \"\",\n  \"skill_id\": \"\",\n  \"descending\": false\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "vlm_run_get_run",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/get/run",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "get",
            "run"
          ]
        },
        "description": "Get the current status and result of one structured-extraction prediction or agent execution; call repeatedly to poll asynchronous work.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"run_id\": \"\",\n  \"run_type\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "vlm_run_list_agents",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/list/agents",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "list",
            "agents"
          ]
        },
        "description": "Return agents available to the connected account for selection before execution.",
        "body": {
          "mode": "raw",
          "raw": "{}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "vlm_run_list_artifacts",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/list/artifacts",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "list",
            "artifacts"
          ]
        },
        "description": "List artifact metadata belonging to exactly one chat session or agent execution. Use offset and limit to traverse pages until has_more is false.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"limit\": 0,\n  \"offset\": 0,\n  \"session_id\": \"\",\n  \"execution_id\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "vlm_run_list_runs",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/list/runs",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "list",
            "runs"
          ]
        },
        "description": "List structured-extraction predictions or agent executions for the connected account. Use offset and limit to traverse pages until has_more is false.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"limit\": 0,\n  \"offset\": 0,\n  \"run_type\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "vlm_run_upload_file",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/upload/file",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "upload",
            "file"
          ]
        },
        "description": "Upload a local file to VLM Run for extraction, agent input, or skill creation. Retain the returned file ID for tools that consume uploaded files.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"file\": {},\n  \"purpose\": \"\",\n  \"generate_public_url\": false\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    }
  ]
}