Andrew Wevers · Technical appendix

Under the hood.

IngestFlow and FrameFlow run on nine calls. A technical appendix for builders and photo desk IT: a direct upload pipeline from folder to gallery, plus a tag-audit loop that verifies every send. Nothing exotic - and that's the point.

ScorePlay open API 9 calls REST + JSON No SDK Zero third-party dependencies

01 · The upload pipeline · Steps 01-05

From saved file to live gallery.

This is the path every frame takes. IngestFlow runs it unattended the moment a file lands in a watched folder; FrameFlow runs it on an editor's send. Same five calls either way.

01 Find the destinationPOST /event/search Lists and live-searches your ScorePlay collections so the editor picks a destination in-app. Both
02 Validate the keyGET /whoami Confirms the API key, company identity, and edit rights before anything moves. FrameFlow
03 Open the uploadPOST /upload/event/{eventID} Initializes the upload and returns a presigned URL plus a media ID. Both
04 Send the bytesPUT presigned URL Uploads the file directly to storage - the frame never routes through a middle server. Both
05 Confirm deliveryPOST /upload/complete/{mediaID} Finalizes the send, so the image is live in the collection. Both

02 · The audit loop · Steps 06-09

Trust, then verify every frame.

Delivery isn't done until the tags are right. FrameFlow reads each delivered frame back from the platform, diffs the automatic athlete tags against the editor's sign-off, and repairs anything that's off - without anyone opening a browser.

06 Clean up on failurePOST /upload/abort Cancels an interrupted upload so nothing half-created is left behind. FrameFlow
07 Read the tags backGET /media/{id} Audit read-back that fetches the delivered image's actual athlete tags. FrameFlow
08 Resolve athletesGET /tag/search Turns a signed-off athlete name into a player ID. FrameFlow
09 Fix the tagsPOST/DELETE /media/{id}/tags Adds or removes player tags to repair anything the audit flagged. FrameFlow

Steps 01-05 are the upload pipeline. Steps 06-09 are the audit loop. Both run on the ScorePlay open API - the same endpoints available to any Connect partner.

03 · Reliability

Built for arena Wi-Fi, not lab conditions.

Completeness check

A frame is held until it's fully written to disk. Nothing uploads mid-copy, so a slow card reader or a big PSD can't produce a truncated delivery.

Sent-ledger

Every delivered frame is recorded. Duplicates are refused, and after a dropped connection the backlog pushes through cleanly - with a record of exactly what landed.

Abort on interruption

If an upload dies partway, the abort call cancels it server-side. No ghost media IDs, no half-created assets for the desk to chase later.

04 · Security & footprint

Small surface, native stack.

Native macOS. Plain REST + JSON - no SDK, no third-party dependencies, nothing to patch but the programs themselves.

Keys stay in the Keychain. ScorePlay API keys are stored in the macOS Keychain, never in config files or plists.

Sessions stay on the LAN. FrameFlow's live sessions run entirely on the local network. The only outbound traffic is the API calls above; nothing reaches the programs from the internet.

Your keys, your account. Each organization runs on its own ScorePlay API key - the programs hold no credentials of their own and see no one else's library.

05 · Next

Questions an appendix can't answer?

Happy to walk your IT or platform team through the architecture, or set up a pilot at your next event. Setup, requirements, and day-to-day questions are answered in each program's own FAQ.