{"name":"studyfilm_dss_v2","what":"StudyFilm DSS V2 is a temporary DSS that will merge into the TimeBack platform DSS. DSS means data source skill. Adjusted minutes and waste per student-day. XP lost and the events that explain it. Integrity and test-rule events per org over days. Student-advocacy events that record app faults. Filmed versus unfilmed XP reconciliation per app (xp_check).","when":"Reach for: published America/Phoenix school-day tables for the six orgs this feed covers (unbound, alpha-anywhere, gt-school, gt-anywhere, tsa-online, tsa-campuses). Evidence behind a row: session narration lives in student_journals of dss_timeback_analytics (https://platform.timeback.com/mcps/analytics/skill), joined on student_id and session_id. Route away: raw film, live or same-day activity, roster administration, and XP outside those six orgs. Headline trap: earned_xp excludes unfilmed ledger XP. A student-day total is timeback_total_xp.","why":{"relevance":"Read the same CSVs schools receive, without a shared folder.","contract":"https://data-source-skills.vercel.app/contract","sha256":"48af41db2734880a84d97544572b0e830c65392af3944377a21af88a79636a5a"},"how":{"native":{"base":"https://studyfilm-dss-integration.platform.timeback.com","auth":"x-api-key: <your key>","selfDescribe":["https://studyfilm-dss-integration.platform.timeback.com/meta"],"routes":{"meta":"GET /meta","orgs":"GET /orgs","dates":"GET /orgs/{org}/dates","day":"GET /orgs/{org}/dates/{date}","table":"GET /orgs/{org}/dates/{date}/{table}","studentTable":"GET /orgs/{org}/students/{student}/dates/{date}/{table}"},"notes":["Every response carries Cache-Control: no-store.","An empty or repeated limit or offset returns 400.","Echoed input in error detail and the student field is cut at 64 characters."]},"dictionary":{"url":"https://studyfilm-dss-integration.platform.timeback.com/dictionary","purpose":"Meaning of every table and column, join keys, deduction rules, and traps.","sha256":"e31ad1565831058a507be4541ec4c40eaf263497c25bf0512db5530349f257d2"},"enablement":{"url":"https://studyfilm-dss-integration.platform.timeback.com/enablement","purpose":"How to call the API, coverage, personal data, and worked examples.","sha256":"8cbd6937ab6230817402592b9cf9b39080b9e5572205bec56fa253f7a613b451"},"brainlift":{"url":"https://studyfilm-dss-integration.platform.timeback.com/brainlift","purpose":"Business doctrine for reading the feed: points of view, reasoning recipes, concepts, facts, and what the feed cannot answer. Where the brainlift differs from the dictionary, the dictionary states the served rules.","sha256":"a6698e774e940a119d902e7547ef4d3fb259fae34a1c243b34cdcde647c4a50b"},"keys":"Ask Nex for a key: message Nex in Google Chat or at platform.wseng.ai. Nex creates the key and sends it privately. A key may be limited to some orgs; GET /orgs lists the orgs yours reads."},"feedback":{"report":"POST https://studyfilm-dss-integration.platform.timeback.com/feedback with JSON {title, body, from}. No key. from must be an email. 201 {id}. 400 {error, detail} when a field is missing, over its cap, or has forbidden characters. A body that is not JSON returns 400 body must be JSON. GET and POST /feedback take at most 2 requests per second across all callers, burst 5.","open":"GET https://studyfilm-dss-integration.platform.timeback.com/feedback. No key. Pages {reports: [{id, title, createdAt}], total, offset, limit, next}. No body, no from. Public titles: never paste student names, emails, ids, or rows.","caps":{"title":200,"body":10000}},"contact":{"name":"Serban Petrescu","email":"serban.petrescu@trilogy.com","for":"access problems, escalation, and student-identifying evidence the public feedback wire must not carry"}}