Explore the catalog

Movie content

Fetch one section at a time from GET /movies/{movie}/content/{section}. This keeps an ending explanation, a timeline, or a set of FAQs independent from the movie detail payload.

Choose a section

SectionWhat you receiveResponse
summaryA plot summary.Markdown text object
spoiler-free-summaryAn introduction intended for readers who have not seen the film.Markdown text object
endingAn explanation of the ending.Markdown text object
timelineStory events with order, title, body, place, and time.Paginated list
settingPlace and time information with explanatory text.Object
themesThemes with a title, emoji, and explanation.Paginated list
charactersCharacter descriptions, tags, and linked person IDs where known.Paginated list
faqsQuestions, answers, sections, and optional foreshadowing notes.Paginated list
profileTone, pacing, intensity, mood, topics, and content warnings.Object

Check availability

First read data.available_content from the movie detail response. You can also search with has=ending or has=summary,ending to require sections in advance.

An unknown movie returns 404 not_found. A known movie without the requested section returns 404 content_not_available. Hide or disable unavailable sections in your interface instead of retrying them repeatedly. Availability can change after you retrieve the detail record, so still handle the content request's response.

Read a prose response

The following illustrates the shape; the text and ID are examples:

JSONCode
{ "data": { "movie_id": 123, "type": "ending", "text": "## The final scene\n\nThe closing moment leaves the central choice unresolved.", "format": "markdown" } }

Render data.text with a Markdown renderer. Sanitize rendered HTML and validate link destinations before displaying content. Preserve paragraph breaks and formatting instead of showing the raw Markdown syntax.

Paginate structured content

Timeline, themes, characters, and FAQs use the standard data array and pagination envelope. Pass limit and cursor to the same content URL. Other content sections do not accept pagination parameters.

For ending-specific FAQs:

TerminalCode
curl --get "$ATM_API_BASE_URL/movies/$ATM_MOVIE_ID/content/faqs" \ --header "Authorization: Bearer $ATM_API_KEY" \ --data-urlencode 'section=ending' \ --data-urlencode 'limit=20'

FAQ sections are summary, ending, and info. A character's person_id can be null; only create a person-profile link when it is present.

Respect spoiler boundaries

Use the explicit spoiler-free-summary section for pre-watch introductions. Treat other sections as potentially revealing plot details, including themes, character descriptions, FAQs, and the profile's ending information. Let readers choose when to reveal them.

A profile describes the viewing experience. Its content warnings are descriptive guidance, not an official age classification.

Reference: Movie content

Last modified on