Bring AI to the library you already have.
PlayPath indexes your existing video, drills and articles — rugby, football, netball, swimming, whatever your catalogue covers — then answers your members' questions inside your own product, with citations that point back to your content, on your domain.
No migration. Your catalogue stays where it is.
Click a chip — or hit ↑ — to see PlayPath answer in real time.
This is the same streaming endpoint your integration calls. The demo runs on a rugby catalogue because that is what our first customer connected — there is no sport-specific logic in the engine. Point it at a swimming or basketball library and it behaves identically.
Three steps, and none of them are “migrate your content”.
You keep your CMS, your player, and your paywall. PlayPath sits alongside them and does the retrieval.
Push your catalogue
Send bounded public metadata — id, title, topics, coach, availability — to
/api/v1/content-parents/batch. Write-only credential. No member
data leaves your side.
We index and link it
Embeddings plus an entity graph connect drills to concepts to coaches — so a question about the breakdown, the high press, or the pick-and-roll finds the clip that never used those words. The vocabulary is learned from your catalogue, not hard-coded per sport.
Call the API, or drop in the widget
One GET for a streaming answer, or the WordPress plugin if you'd
rather not write any client code at all.
What your members get.
Every one of these runs against your catalogue, in your sport, scoped to your organisation. Turn on what you want; the rest stays dark.
Answers with receipts.
Members ask in plain language and get a written answer with the exact clips and passages it drew from. Every citation resolves to a URL on your domain — the answer sends traffic into your library, not away from it.
Different every time they come back.
Ranks your catalogue per member from what they've actually assigned, watched and finished — then rotates, so a returning coach never gets the same three cards twice. Retired content is filtered out before it can be offered.
From question to training session.
Members assemble a session on a canvas of phase-coloured blocks — warm-up through cool-down — pulling drills straight out of your library as references, with revision history and squad sharing.
Any spreadsheet, read properly.
A coach uploads whatever match file their analyst produced — no fixed template — and gets structured stats plus a written narrative that points at the drills in your library which address what went wrong.
It remembers the squad.
A tool-calling assistant that holds context across sessions — the age grade being coached, what was worked on last week, which drills already landed — so members stop re-explaining themselves every time.
Built for a club, not a solo user.
Members organise players into squads and groups, share plans across a coaching staff, and carry age-grade and level context into every answer the assistant gives them.
A key per job, and nothing more.
Every endpoint is scoped. Your ingestion credential can write catalogue and never read an answer; your read credential can never write. Turn on only the groups you use.
Ingest
telemetry:ingest
Write-only. Public metadata and activity signals — never member records.
/api/v1/content-parents/batch
Catalogue hierarchy — which chapters belong to which course.
/api/v1/recommendation-contents/batch
Rankable content: title, topics, coach, availability, published date.
/api/v1/source-activity-events/batch
What members assigned, opened, played or finished. Drives ranking.
Ask
chat
Retrieval-grounded answers with sources.
/api/rag/stream
Server-sent events. Sources arrive before the prose.
/api/rag/chat
The same answer as one JSON response, when you cannot stream.
Recommend
recommendations:read
Personalised, rotating slates per member and surface.
/api/v1/recommendations
A ranked slate for one member on one surface, with a reason per item.
Converse
chat
Multi-turn coach sessions that keep context between visits.
/api/conversations
Open a session for a member.
/api/conversations/:id/messages/stream
Add a turn and stream the reply, tool calls included.
/api/conversations/:id/blocks
Write session-plan blocks directly, stamped with coach authorship.
/api/end_user_profiles
Upsert a member profile so answers land at the right age grade and level.
Library
content:read content:write
Read or manage the indexed items themselves. Separate scopes, so read access never implies write.
/api/items
List and inspect what PlayPath has indexed for you.
/api/items
Create, update or remove an item. Content changes trigger re-embedding.
The one you will call most
$ curl -N "https://playpath.io/api/rag/stream" \ --get \ --data-urlencode "message=Why is our scrum collapsing?" \ --data-urlencode "api_key=$PLAYPATH_KEY" event: content_source data: {"type": "shared_sample", "organization_name": "The Rugby Site", "organization_slug": "the-rugby-site", "read_only": true} data: The most common cause is the tighthead data: binding late. Three drills in your data: library address exactly this… # The content_source event lands first, so you can paint # citations before the prose arrives. 4,000 char cap on message.
Your catalogue is yours.
Isolated per organisation
Every query, embedding and recommendation is scoped to your organisation. One tenant's content is never reachable from another's credential.
Scoped API keys
Keys carry explicit scopes — chat, ingestion, recommendations — and default to deny. An ingestion key cannot read answers.
Public metadata only
Ingestion takes id, title, topics, coach and availability. No member records, no recipient data, no paywalled body text.
Point it at your library and see what it finds.
We'll index a slice of your catalogue and send back real answers against your own content — before you write a line of integration code.
Coaching on your own? Sign up as a coach →