Skip to main content

Field Reference

Complete reference for all available fields when creating courses via the Thought Industries API.

Required Fields

These fields are required for all course creation requests:

FieldTypeDescription
titlestringCourse title (max 255 characters)
descriptionstringCourse description (supports HTML)
formatstringCourse format: course, article, video, scorm, microcourse

Common Optional Fields

These fields apply to all course formats:

Basic Information

FieldTypeDefaultDescription
slugstringauto-generatedURL-friendly identifier
subtitlestringnullCourse subtitle
authorstringnullCourse author name
languagestringenISO 639-1 language code
tagsarray[]Array of tag strings

Availability

FieldTypeDefaultDescription
publishedbooleanfalseWhether course is published
availableFromdatetimenullStart date/time (ISO 8601)
availableTodatetimenullEnd date/time (ISO 8601)
enrollmentTypestringopenopen, invite, approval

Pricing

FieldTypeDefaultDescription
pricenumber0Course price in cents
currencystringUSDISO 4217 currency code
subscriptionEnabledbooleanfalseEnable subscription access
subscriptionPricenumbernullMonthly subscription price

Display Settings

FieldTypeDefaultDescription
thumbnailstringnullThumbnail image URL
bannerstringnullBanner image URL
ribbonTextstringnullRibbon badge text
ribbonColorstring#000000Ribbon badge color (hex)

Course Settings

FieldTypeDefaultDescription
durationnumbernullEstimated duration in minutes
difficultystringnullbeginner, intermediate, advanced
certificateEnabledbooleanfalseEnable certificate generation
certificateTemplatestringnullCertificate template ID

SEO Fields

FieldTypeDefaultDescription
metaTitlestringnullSEO meta title
metaDescriptionstringnullSEO meta description
metaKeywordsarray[]SEO keywords

Format-Specific Fields

Course Format

Additional fields for format: "course":

FieldTypeDefaultDescription
lessonsarray[]Array of lesson objects
modulesarray[]Array of module objects
sequentialLearningbooleanfalseForce sequential completion
passGradenumber70Passing grade percentage

Lesson Object:

{
"title": "Lesson Title",
"description": "Lesson description",
"content": "HTML content",
"videoUrl": "https://...",
"duration": 15,
"order": 1
}

Article Format

Additional fields for format: "article":

FieldTypeDefaultDescription
contentstringrequiredArticle content (HTML)
readTimenumberautoEstimated read time (minutes)
tableOfContentsbooleantrueAuto-generate TOC

Video Format

Additional fields for format: "video":

FieldTypeDefaultDescription
videoUrlstringrequiredVideo file URL or embed code
videoProviderstringcustomyoutube, vimeo, wistia, custom
videoIdstringnullProvider-specific video ID
captionsUrlstringnullWebVTT captions file URL
transcriptUrlstringnullTranscript file URL
allowDownloadbooleanfalseAllow video download

SCORM Format

Additional fields for format: "scorm":

FieldTypeDefaultDescription
scormFilestringrequiredSCORM package URL or file
scormVersionstring20041.2 or 2004
trackingSettingsobjectdefaultSCORM tracking configuration
completionCriteriastringcompletedcompleted, passed, score

microCourse Format

Additional fields for format: "microcourse":

FieldTypeDefaultDescription
cardsarray[]Array of micro-learning cards
cardOrderstringsequentialsequential, random
allowSkipbooleantrueAllow skipping cards

Card Object:

{
"type": "content|quiz|video",
"title": "Card Title",
"content": "Card content",
"order": 1
}

Nested Objects

Module Object

Used in course format:

{
"title": "Module Title",
"description": "Module description",
"order": 1,
"lessons": [...]
}

Tracking Settings Object

Used in SCORM format:

{
"trackCompletion": true,
"trackScore": true,
"trackTime": true,
"masteryScore": 80
}

Custom Fields

You can define custom fields for your courses:

{
"customFields": {
"internalId": "TRAIN-101",
"department": "Sales",
"requiredBy": "2024-12-31",
"customData": {
"key": "value"
}
}
}

Field Validation

String Length Limits

  • title: 1-255 characters
  • slug: 1-100 characters, alphanumeric and hyphens only
  • description: Max 5000 characters
  • content: Max 500KB for articles

Number Ranges

  • price: 0-999999999 (in cents)
  • duration: 1-999999 (minutes)
  • passGrade: 0-100 (percentage)

Date/Time Format

Use ISO 8601 format for all datetime fields:

2024-01-15T10:00:00Z
2024-01-15T10:00:00-05:00

URL Format

All URL fields must be valid HTTP(S) URLs:

https://example.com/video.mp4
https://youtube.com/watch?v=abc123

Field Dependencies

Some fields depend on others:

  • subscriptionPrice requires subscriptionEnabled: true
  • certificateTemplate requires certificateEnabled: true
  • videoId requires videoProvider to be set
  • lessons can only be used with format: "course"

Deprecated Fields

These fields are deprecated and will be removed in future versions:

  • oldPricingModel - Use price instead
  • legacyVideoUrl - Use videoUrl instead
  • deprecatedTags - Use tags instead

Next Steps