---
canonical_url: "https://docs.composio.dev/toolkits/heights_platform"
markdown_url: "https://docs.composio.dev/toolkits/heights_platform.md"
product: "platform"
version: null
last_updated: null
---

# Heights Platform

Heights Platform helps creators build and sell online courses, digital products, and communities while managing students, orders, and access.

- **Category:** online courses
- **Auth:** API_KEY
- **Composio-managed OAuth available?** N/A
- **Tools:** 16
- **Triggers:** 0
- **Slug:** `HEIGHTS_PLATFORM`
- **Version:** 00000000_00

## Tools

### Enroll Student

**Slug:** `HEIGHTS_PLATFORM_ENROLL_STUDENT`

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.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `student_name` | string | No | Student name. Heights requires this when the email does not already identify a student. |
| `student_email` | string | Yes | Email address of the student to create, update, or enroll. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Learning Product

**Slug:** `HEIGHTS_PLATFORM_GET_LEARNING_PRODUCT`

Get detailed metadata for one course, bundle, or digital product by ID.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `resource_id` | integer | Yes | Course, bundle, or digital product ID returned by List Learning Products. |
| `resource_type` | string ("course" | "bundle" | "digital_product") | Yes | Type of learning product to retrieve. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Order

**Slug:** `HEIGHTS_PLATFORM_GET_ORDER`

Get one Heights order by its public unique order ID.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `order_id` | string | Yes | Public order ID returned by List Orders or a new_order webhook payload. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Student Course Progress

**Slug:** `HEIGHTS_PLATFORM_GET_STUDENT_COURSE_PROGRESS`

Get a student's overall and course-specific completion percentages for one course.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `course_id` | integer | Yes | Course ID whose completion percentage should be inspected. |
| `student_email` | string | Yes | Email address of the student whose progress should be returned. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Student Details

**Slug:** `HEIGHTS_PLATFORM_GET_STUDENT_DETAILS`

Get a student by email, including account attributes, activity counts, paid orders, and enrolled courses.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `student_email` | string | Yes | Exact email address of the student to retrieve. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Grant Student Access

**Slug:** `HEIGHTS_PLATFORM_GRANT_STUDENT_ACCESS`

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 another access order; do not automatically retry an ambiguous result.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `resource_id` | integer | Yes | ID of the course or bundle to grant. The ID type must match resource_type. |
| `student_name` | string | No | Student name. Heights requires this when the email does not already identify a student. |
| `resource_type` | string ("course" | "bundle") | Yes | Type of learning product to grant: course or bundle. |
| `student_email` | string | Yes | Email address of the student who should receive access. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Grant Student Role

**Slug:** `HEIGHTS_PLATFORM_GRANT_STUDENT_ROLE`

Grant one Heights role to a student, changing the student's authorization. Use a role ID returned by List Course Roles.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `role_id` | integer | Yes | Role ID returned by List Course Roles. |
| `student_email` | string | Yes | Email address of the student who should receive the role. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Course Roles

**Slug:** `HEIGHTS_PLATFORM_LIST_COURSE_ROLES`

List the Heights roles that can be granted to students.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Learning Products

**Slug:** `HEIGHTS_PLATFORM_LIST_LEARNING_PRODUCTS`

List published courses, bundles, or digital products in the connected Heights account.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `resource_type` | string ("course" | "bundle" | "digital_product") | Yes | Type of learning product to list. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Orders

**Slug:** `HEIGHTS_PLATFORM_LIST_ORDERS`

List Heights orders with optional status, student email, and creation-time filters, returning one page and an opaque continuation cursor.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `status` | string ("pending" | "failed" | "paid" | "paypal_executed" | "all") | No | Order status to return; use 'all' to include every status. |
| `page_size` | integer | No | Maximum orders to return in this page (1-100). |
| `next_cursor` | string | No | Opaque continuation cursor returned by a previous List Orders call; it retains the original filters and page size. |
| `created_after` | string | No | Return orders created at or after this ISO 8601 timestamp. |
| `student_email` | string | No | Return only orders for this exact student email address. |
| `created_before` | string | No | Return orders created at or before this ISO 8601 timestamp. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Students

**Slug:** `HEIGHTS_PLATFORM_LIST_STUDENTS`

List all Heights students one page at a time, or list the unpaginated students whose total completion is at least 100 percent.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `next_cursor` | string | No | Continuation cursor returned by a previous all-students page; omit when completion_filter is 'completed'. |
| `completion_filter` | string ("all" | "completed") | No | Whether to list all students or only students whose total completion is at least 100 percent. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Student Submissions

**Slug:** `HEIGHTS_PLATFORM_LIST_STUDENT_SUBMISSIONS`

List assignment answers or project posts submitted by students.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `submission_type` | string ("assignment_answer" | "project_post") | Yes | Type of student submission to list. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Reset Student Progress

**Slug:** `HEIGHTS_PLATFORM_RESET_STUDENT_PROGRESS`

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 cannot be undone; confirm the student, resource type, and resource ID before calling. Do not automatically retry an ambiguous result.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `resource_id` | integer | Yes | ID of the course or bundle whose saved progress will be permanently erased. The ID type must match resource_type. |
| `resource_type` | string ("course" | "bundle") | Yes | Scope of the permanent reset: course erases progress for one course; bundle erases progress for every course in the bundle. |
| `student_email` | string | Yes | Email address of the student whose saved progress will be permanently erased. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Revoke Student Access

**Slug:** `HEIGHTS_PLATFORM_REVOKE_STUDENT_ACCESS`

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 bundle's courses and digital products from the student's orders. This can immediately remove content access and is not automatically reversible; verify the student, resource type, and resource ID before calling.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `resource_id` | integer | Yes | ID of the course or bundle whose access should be permanently revoked. |
| `student_name` | string | No | Student name. Required for course revocation; ignored and not sent for bundle revocation. |
| `resource_type` | string ("course" | "bundle") | Yes | Type of access to revoke. Revoking a bundle also removes its courses and digital products from the student's orders. |
| `student_email` | string | Yes | Email address of the student whose access should be revoked. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Revoke Student Role

**Slug:** `HEIGHTS_PLATFORM_REVOKE_STUDENT_ROLE`

Revoke one Heights role from a student, changing the student's authorization. Use a role ID returned by List Course Roles.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `role_id` | integer | Yes | Role ID returned by List Course Roles. |
| `student_email` | string | Yes | Email address of the student whose role should be revoked. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Unenroll Student

**Slug:** `HEIGHTS_PLATFORM_UNENROLL_STUDENT`

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 separately granted course or bundle access.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `student_name` | string | Yes | Name of the student to unenroll, required by this Heights endpoint. |
| `student_email` | string | Yes | Email address of the student whose paid membership should be ended. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |
