Run each step in order to create a template, publish a share, and test the public OG page.
—
—
—
—
1
Create Template
pending
2
Add Template Version
pending
both enables animated H.264 video via Remotion (requires RENDER_WORKER=remotion).
3
Create Share
pending
4
View OG Page (Crawler)
pending
Fetches /s/:shareId with a bot User-Agent to see the Open Graph meta page
(what Twitter / LinkedIn scrapes).
5
Follow Redirect (Human)
pending
Opens /s/:shareId in a new tab as a regular browser visitor.
The server will 302-redirect to the destination URL with attribution params appended.
Templates
POST/v1/templates
POST/v1/templates/:templateId/versions
GET/v1/templates
Shares
POST/v1/shares
GET/v1/shares/:shareId
POST/v1/shares/:shareId/renderForce re-render
GET (public)/s/:shareIdOG meta page
GET (public)/m/:shareId/:kindMedia asset
DELETE/v1/shares/:shareId
Assets
POST/v1/assetsmultipart/form-data
GET/v1/assets
Settings
GET/v1/settings/effective
Returns the merged settings for the given scope. Uses the org/space/project IDs
from the auth headers above, or you can override them here.
DDC - Data-Driven Content: Lineup Card
Render live team lineup cards as embeddable image URLs. No client payload
needed - drop the URL in an img tag and the server fetches live data from
Opta and renders the card on first hit, then caches it.
View lineup card
PUBLICGET /ddc/{orgSlug}/lineup/{fixtureId}.jpg
Fixture index
PUBLICGET /ddc/{orgSlug}/lineup
Lists all upcoming and recent fixtures for the org. Click any fixture
to open its lineup card.
External Data Source (POST - Studio integration)
POSTPOST /ddc/lineup/source
Studio integration endpoint. The platform POSTs to this fixed URL
with project context in the body. DDC reads
project.custom_fields.hypecard_orgSlug to identify the
org. Configure the Studio element spec with
source: { url: ".../ddc/lineup/source", method: "post" }
and add hypecard_orgSlug as a project custom field.
External Data Source (GET - direct access)
PUBLIC
GET /ddc/{orgSlug}/lineup/source
Same response as POST but reads orgSlug from the URL path.
For direct access, curl testing, and development.
Player name mapping
PUBLICGET /ddc/{orgSlug}/players/names
Returns the current short-name mappings plus the raw Opta matchName
strings from the most recent confirmed lineup. Use the Opta names as
keys when setting overrides.
Update player short names (authenticated)
PATCHPATCH /ddc/{orgSlug}/config
Merge short-name overrides into the org config. Changes are applied
immediately and written to orgs.json so they survive restart.
Upload player headshot (authenticated)
POST
POST /ddc/{orgSlug}/players/{optaPlayerId}/image
Upload a JPEG or PNG headshot for a player. The server resizes to
176x176 px and stores under
public/static/ddc/players/{orgSlug}/{optaPlayerId}.jpg.
Use the player ID from the Opta matchName lookup above.
Studio Extension Preview
Preview the embedded Studio extension tab UI exactly as it
would appear when loaded inside a Studio sidebar iframe.
Select an org to load the prototype. The URL is
/studio/tabs/:orgSlug.
How this works:
Studio calls GET /lvis/:instanceId/projects/:projectId/tabs
which returns this URL. Studio embeds it as an iframe in the
project sidebar. The tab page fetches live data from the DDC and
HypeCard APIs directly from the browser.
CURL Reference
Copy-paste commands. Replace localhost:3001 with your API host.
Set ORG and TOKEN before running.