Skip to content
Woolf Help Center home
Woolf Help Center home

Resources API Guide

This article provides the complete reference for submitting and managing course resources using Woolf’s API. It covers all supported resource types, required fields, mutation formats, compliance monitoring, and verification logic.

⚠️ Note: Only VERIFIED resources count toward graduation.


Supported Resource Types

Type

Kind

Description

General

GENERAL

Supplemental learning materials not tied to a specific category

Publication

PUBLICATION

Standard reading materials (eBooks, articles)

Peer-reviewed Publication

PUBLICATION_REVIEWED

Academic, peer-reviewed sources (last 5 years)

Meeting

MEETING

Live sessions (online or in-person)

Assignment

ASSIGNMENT

Essays, quizzes, project tasks with grading

Summative Assignment

ASSIGNMENT_SUMMATIVE

Final, graded project representing course mastery


Required Fields

Field

Required

Description

name

βœ…

Title of the resource

kind

βœ…

One of the supported kinds

workload

βœ…

Minutes required to complete

isGradeRequired

Optional

Set to true for assignments

cohortName

Optional

Target specific cohort (optional)

externalId

Optional

LMS resource identifier

content

Optional

Lesson content in HTML or Markdown

assets

Optional

File attachments via importUrl

weightIds

βœ… (for assignments)

Grade mapping weights

tags

Optional

Used for filtering

teacherIds

Recommended

Assign teachers to resource


Submit a Resource using API

Use the addResource mutation to submit any content type. Sample requests are below:

🧾 General Resource

πŸ“˜ Publication

πŸ“š Peer-reviewed Publication

πŸ“… Meeting

πŸ“ Assignment

πŸŽ“ Summative Assignment


Manage Resources using API

πŸ“Š Get Course Resource Requirements

πŸ” Get Resource by ID

πŸ“¦ Get Multiple Resources

πŸ› οΈ Modify a Resource

πŸ“Œ Tips:

  • Editing a verified resource resets its status to draft.Β  Avoid modifying verified resources mid-course unless required. Doing so will reset their status.

  • To track asset upload completion, subscribe to the IMPORTED_ASSET webhook event.

  • To be notified when a resource is rejected, subscribe to the REJECTED_RESOURCE webhook.

  • For long videos (e.g. lectures), you may upload HLS playlists - flat only (no nested playlists).