{
  "info": {
    "name": "Heights Platform — mcp.ai",
    "description": "REST API for the Heights Platform 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/heights_platform",
      "type": "string"
    },
    {
      "key": "apiKey",
      "value": "sk_live_...",
      "type": "string"
    }
  ],
  "item": [
    {
      "name": "heights_platform_enroll_student",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/enroll/student",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "enroll",
            "student"
          ]
        },
        "description": "Create a student or update an existing student and mark them enrolled without granting course or bundle access. Use Grant Student Access when the student should also receive a learning product.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"student_name\": \"\",\n  \"student_email\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "heights_platform_get_learning_product",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/get/learning/product",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "get",
            "learning",
            "product"
          ]
        },
        "description": "Get detailed metadata for one course, bundle, or digital product by ID.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"resource_id\": 0,\n  \"resource_type\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "heights_platform_get_order",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/get/order",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "get",
            "order"
          ]
        },
        "description": "Get one Heights order by its public unique order ID.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"order_id\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "heights_platform_get_student_course_progress",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/get/student/course/progress",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "get",
            "student",
            "course",
            "progress"
          ]
        },
        "description": "Get a student's overall and course-specific completion percentages for one course.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"course_id\": 0,\n  \"student_email\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "heights_platform_get_student_details",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/get/student/details",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "get",
            "student",
            "details"
          ]
        },
        "description": "Get a student by email, including account attributes, activity counts, paid orders, and enrolled courses.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"student_email\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "heights_platform_grant_student_access",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/grant/student/access",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "grant",
            "student",
            "access"
          ]
        },
        "description": "Grant one course or bundle to a student by creating a zero-dollar paid order. Heights also creates or updates the student and marks them enrolled. This is non-idempotent because retrying can create an",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"resource_id\": 0,\n  \"student_name\": \"\",\n  \"resource_type\": \"\",\n  \"student_email\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "heights_platform_grant_student_role",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/grant/student/role",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "grant",
            "student",
            "role"
          ]
        },
        "description": "Grant one Heights role to a student, changing the student's authorization. Use a role ID returned by List Course Roles.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"role_id\": 0,\n  \"student_email\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "heights_platform_list_course_roles",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/list/course/roles",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "list",
            "course",
            "roles"
          ]
        },
        "description": "List the Heights roles that can be granted to students.",
        "body": {
          "mode": "raw",
          "raw": "{}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "heights_platform_list_learning_products",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/list/learning/products",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "list",
            "learning",
            "products"
          ]
        },
        "description": "List published courses, bundles, or digital products in the connected Heights account.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"resource_type\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "heights_platform_list_orders",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/list/orders",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "list",
            "orders"
          ]
        },
        "description": "List Heights orders with optional status, student email, and creation-time filters, returning one page and an opaque continuation cursor.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"status\": \"\",\n  \"page_size\": 0,\n  \"next_cursor\": \"\",\n  \"created_after\": \"\",\n  \"student_email\": \"\",\n  \"created_before\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "heights_platform_list_student_submissions",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/list/student/submissions",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "list",
            "student",
            "submissions"
          ]
        },
        "description": "List assignment answers or project posts submitted by students.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"submission_type\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "heights_platform_list_students",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/list/students",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "list",
            "students"
          ]
        },
        "description": "List all Heights students one page at a time, or list the unpaginated students whose total completion is at least 100 percent.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"next_cursor\": \"\",\n  \"completion_filter\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "heights_platform_reset_student_progress",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/reset/student/progress",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "reset",
            "student",
            "progress"
          ]
        },
        "description": "Permanently erase a student's saved completion and progress records. For a course, this resets the selected course only. For a bundle, this resets every course in that bundle. This destructive change ",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"resource_id\": 0,\n  \"resource_type\": \"\",\n  \"student_email\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "heights_platform_revoke_student_access",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/revoke/student/access",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "revoke",
            "student",
            "access"
          ]
        },
        "description": "Permanently remove one course or bundle from a student's existing orders. Course revocation removes that course from every applicable order. Bundle revocation cascades: it removes the bundle and the b",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"resource_id\": 0,\n  \"student_name\": \"\",\n  \"resource_type\": \"\",\n  \"student_email\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "heights_platform_revoke_student_role",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/revoke/student/role",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "revoke",
            "student",
            "role"
          ]
        },
        "description": "Revoke one Heights role from a student, changing the student's authorization. Use a role ID returned by List Course Roles.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"role_id\": 0,\n  \"student_email\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "heights_platform_unenroll_student",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/unenroll/student",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "unenroll",
            "student"
          ]
        },
        "description": "End a student's paid membership by setting their Heights paying-student state to false. This changes the student's membership state; it does not delete the student account or promise to remove separat",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"student_name\": \"\",\n  \"student_email\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    }
  ]
}