Overview
Haystack uses a hierarchical content model that helps you organize and categorize your media library. Understanding these relationships is key to effectively managing your content.Core Entities
Items
Items are the fundamental unit of content in Haystack. An item typically represents a single piece of content like a sermon, talk, podcast episode, or video.title- The main title of the contentdate- Publication or recording datestatus- Current state:draft,queued,processing,ready,published,unpublished, orerrorcollectionId- Required: which collection this belongs toseriesId- Optional: which series this belongs to
1
draft
Item is created but not yet published
2
queued
Item is queued for processing
3
processing
Media is being transcribed and indexed for search
4
ready
Processing complete, ready to be published
5
published
Item is live and searchable by users
6
unpublished
Item was published but is now hidden from search
7
error
Processing failed - check error details
Collections
Collections are top-level organizational containers. They represent major categories of content and every item must belong to exactly one collection.- Organizing by content type (Sermons, Podcasts, Conferences)
- Separating by venue (Main Campus, Satellite Location)
- Dividing by audience (Youth, Adults, Spanish)
Collections are required for all items. Plan your collection structure before importing content.
Series
Series group related items together in a sequence. Series are optional but highly recommended for organizing multi-part content.- Ordering: Control whether items display in ascending or descending order
- Numbering: Optionally show “Part 1”, “Part 2” labels
- Branding: Each series can have custom artwork and colors
- Discovery: Users can find related content by browsing series
Speakers
Speakers represent the people who deliver your content. Items can have multiple speakers.- Items must have at least one speaker
- Items can have multiple speakers
- Speakers can be associated with many items
- Speaker filtering enables users to find all content by a specific person
Content Hierarchy
Here’s how these entities relate to each other:Relationships Explained
Required Relationships
Item → Collection (Required)
Item → Collection (Required)
Every item must belong to exactly one collection. This cannot be null.
Series → Collection (Required)
Series → Collection (Required)
Every series must belong to exactly one collection.
Item → Speakers (Required)
Item → Speakers (Required)
Every item must have at least one speaker. Items can have multiple speakers.
Optional Relationships
Item → Series (Optional)
Item → Series (Optional)
Items can optionally belong to a series, but it’s not required.
Working with the Content Model
Creating a Complete Item
Here’s a comprehensive example of creating an item with all relationships:Querying with Related Data
Use the_expand query parameter to include related data:
Content Organization Best Practices
Plan Your Collections
Design your collection structure before importing content. Collections are the foundation of your organization.
Use Series Strategically
Group related content into series for better discovery and user engagement.
Consistent Speaker Names
Maintain consistent speaker naming to avoid duplicates (e.g., don’t create both “John Smith” and “Pastor John”).
Add Descriptive Metadata
Use descriptions and subtitles to provide context and improve searchability.
URL Slugs
Items and series can have custom URL slugs for user-friendly URLs:- Lowercase letters, numbers, and hyphens only
- Must be unique within your customer account
- Auto-generated from title if not provided

