The Materials API allows you to upload, manage, and organize various types of study materials including documents, videos, audio files, and more. Materials can be organized into folders and serve as the foundation for generating study components like flashcards, quizzes, and practice tests.
Materials go through different status values during their lifecycle:
pending_upload - Waiting for file upload (S3 presigned URL)
processing - Being processed (OCR, transcription, embeddings)
active - Ready to use
error - Processing failed
deleted - Soft deleted
Important: Materials must have status: 'active' before they can be used in components or for grading. Attempting to use materials with status: 'processing' will result in errors. Always implement polling to check material status after upload.