Reference

External API

Understand the customer-safe HotRoute external API surface for approved service-account access.

BetaOrganization owners, football operations leads, analysts, and approved technical partners who need to understand which HotRoute resources can be reached by trusted integrations.Updated June 7, 2026

Overview / Purpose

The HotRoute external API lets an approved integration ask for specific HotRoute information through organization-owned service-account access.

It is not a broad data export, a staff login, or a shortcut around team, season, role, plan, lifecycle, or privacy boundaries.

Use this page to understand which resource families are visible at a customer-safe level and how denied responses should be interpreted.

Who this is for

This reference is for organization owners, football operations leads, analysts, and approved technical partners.

In football terms, this is for the person deciding whether a trusted outside tool should read limited team context, render a callsheet, search visible terminology, or retrieve scoped playbook information.

What to know first

External API access starts with a service account. The organization owner creates the account, chooses the team and season scope, selects object families, selects operation classes, and stores the key securely.

An API key does not become a coach's personal login. It represents the organization-owned integration and only works inside the scope the owner granted.

Most private football resources need clear organization, team, season, playbook, or object context. If that context is missing, ambiguous, out of scope, unavailable on the plan, or unsafe to reveal, HotRoute should refuse or return a safe not-found style response.

Some routes require an idempotency key, version check, or bounded request shape before HotRoute accepts expensive or write-like work. That keeps retries, imports, renders, and updates from creating unclear downstream state.

Published endpoint inventory

This inventory is conclusive for the current /api/v1 service-account surface. If a route is not listed here, treat it as unavailable for customer API-key use unless HotRoute explicitly approves a later customer route.

For paths with {id}, use the HotRoute id returned by a visible prior response. A returned id is still usable only inside the organization, team, season, object family, operation, plan, lifecycle, and role boundaries granted to the service account.

Status language on this page is intentional:

  • Beta-live means the route family is available for approved service-account API use when the key, scope, plan, lifecycle, and request checks pass.
  • Private-preview means HotRoute must approve the exact customer workflow before use.
  • Planned means the route family or tool workflow is not available for general service-account use yet.
  • Unavailable means the operation is not a customer API-key route.

Route-family availability

Route familyStatusCustomer-safe boundary
Core team, season, playbook, play, terminology, opponent, and schedule metadataBeta-liveRead routes return bounded metadata only.
Registry-backed read projectionsBeta-liveThe generic projection routes listed below are read-only and field-allowlisted.
Schedule create, update, and import previewBeta-liveWrites are bounded to active schedule events and non-committing import previews.
Callsheet render and callsheet layout draftsBeta-liveRendered artifacts and layout drafts are derived from visible playbook context.
Private semantic searchBeta-liveRequires the semantic-search add-on or grant, explicit team and season scope, citations, and rate-limit checks.
Product-doc semantic contextBeta-liveSearches HotRoute product docs only; it does not expose customer-private football truth.
Customer agent workflows with Codex, Claude, ChatGPT, MCP, or hotroute-toolsPrivate-preview or plannedUse only after HotRoute and the organization owner approve the exact scoped workflow.
User-delegated OAuth agent accessPlannedService-account keys must not be treated as individual coach consent.
Review, publish, archive, billing admin, support admin, platform admin, and unlisted mutationsUnavailableThese are not customer API-key operations.

Core endpoints

EndpointOperationCustomer-safe result
GET /api/v1/teamsList teamsActive in-scope team summaries.
GET /api/v1/teams/{teamId}Retrieve teamOne in-scope team summary.
GET /api/v1/seasonsList seasonsIn-scope season summaries and current-season context.
GET /api/v1/seasons/{seasonId}Retrieve seasonOne in-scope season summary.
GET /api/v1/playbooksList playbooksActive playbook summaries in the requested scope.
GET /api/v1/playbooks/{playbookId}Retrieve playbookOne active playbook summary.
GET /api/v1/playsList playsPublished play metadata from active scoped playbooks.
GET /api/v1/plays/{playId}Retrieve playOne published play metadata response.
GET /api/v1/terminologyList termsPublished baseline and visible organization terminology.
GET /api/v1/terminology/searchSearch termsBounded terminology search results.
GET /api/v1/terminology/{termId}Retrieve termOne visible published term with safe aliases and usage context.
GET /api/v1/opponentsList opponentsActive opponent identity metadata tied to same-team, same-season schedule context.
GET /api/v1/opponents/{opponentId}Retrieve opponentOne active opponent identity response.
GET /api/v1/scheduleList schedule eventsActive same-team, same-season schedule events.
GET /api/v1/schedule/{scheduleEventId}Retrieve schedule eventOne active schedule event.
POST /api/v1/schedule/import-previewPreview schedule importNon-committing preview results for at most the approved bounded import payload.
POST /api/v1/scheduleCreate schedule eventCreates one active schedule event with bounded fields.
PUT /api/v1/schedule/{scheduleEventId}Update schedule eventUpdates one active schedule event when version checks pass.
POST /api/v1/callsheets/renderRender callsheet artifactDerived output from visible playbook context.
GET /api/v1/callsheet-layoutsList callsheet layoutsPublished callsheet layout roots visible to the service account.
GET /api/v1/callsheet-layouts/{layoutId}Retrieve callsheet layoutOne visible published callsheet layout root.
POST /api/v1/callsheet-layoutsCreate callsheet layout draftCreates a saved callsheet layout draft only.
PUT /api/v1/callsheet-layouts/{layoutId}Update callsheet layout draftUpdates a saved callsheet layout draft when version checks pass.
POST /api/v1/semantic-search/searchSearch product docs or private canonCitation-first search when product-doc, private-canon, add-on, credit, and scope checks allow it.
POST /api/v1/semantic-search/contextSearch product docs contextCitation-first HotRoute product-doc context search in organization scope.

Published read-projection endpoints

The endpoints in this section are read-only projection endpoints. Each row publishes both GET /api/v1/<path> for list and GET /api/v1/<path>/{id} for retrieve. List responses use bounded pagination.

PathAreaCustomer-safe result
systemsFootball canonActive scheme systems scoped by playbook.
formationsFootball canonActive formation metadata.
personnel-groupingsFootball canonPublished personnel grouping versions.
concept-familiesFootball canonPublished concept-family versions.
conceptsFootball canonPublished concept versions.
play-versionsPlaysPublished play versions without workspace payloads.
play-sequencesFootball canonActive play sequence roots.
play-scriptsFootball canonActive play script roots.
principlesStandardsActive principles used by standards, identity, and philosophy models.
philosophy-modelsStandardsActive philosophy model roots.
identity-modelsStandardsActive identity model roots.
performance-standardsStandardsActive performance-standard roots.
gameplansGameplansPublished gameplan roots with current published versions.
install-packagesInstall packagesActive install packages with current published versions.
rostersTeam managementPublished locked roster summaries.
positionsPersonnelActive position catalog entries.
personnelPersonnelRoster-scoped safe player football metadata.
depth-chartsDepth chartsPublished locked depth-chart summaries.
opponent-personnelOpponent personnelActive opponent personnel identity metadata.
assignment-setsTeaching and developmentPublished assignment-set roots.
contextual-questionsTeaching and developmentOpen contextual questions with active current versions.
contextual-answersTeaching and developmentPublished contextual answers.
practice-plansTeaching and developmentPublished practice plan roots.
practice-drillsTeaching and developmentPublished practice drill roots.
teaching-deliveriesTeaching and developmentActive teaching delivery events.
teaching-receiptsTeaching and developmentSafe teaching delivery receipt status.
insightsAnalysisActive insights with published versions.
insight-trust-evaluationsAnalysisSafe insight trust evaluation summaries.
evidence-ref-typesEvidenceActive evidence reference source types.
evidence-clipsEvidenceActive evidence clip segments without storage references.
evidence-bundlesEvidenceActive evidence bundles.
scenario-templatesSimulationsActive scenario templates when simulation access is enabled.
simulation-profilesSimulationsActive simulation profiles when simulation access is enabled.
simulation-requestsSimulationsSimulation requests and scenario bindings when simulation access is enabled.
simulation-runsSimulationsSimulation run status summaries when simulation access is enabled.
object-threadsCollaborationOpen object-linked collaboration threads.
object-thread-messagesCollaborationNon-redacted object-thread messages.
responsibilitiesStaff authorityPublished responsibility definitions.
responsibility-mapsStaff authorityPublished responsibility maps.
delegationsStaff authorityActive delegation roots.
alignment-checksStaff authorityAlignment checks and alert posture.
billing/entitlementsBilling projectionsSafe organization entitlement projection.
billing/addonsBilling projectionsSafe add-on entitlement projection.
billing/credit-remindersBilling projectionsSemantic credit reminder status projection.
compliance/policiesCompliancePublished policy document versions.
compliance/privacy-requestsComplianceOrganization privacy request status projection.
support/casesSupportSafe support case projection.

How approved requests work

An approved request usually has five pieces:

  1. A service-account API key stored by the customer or approved partner.
  2. Organization context.
  3. Team, season, playbook, or object context when the resource family needs it.
  4. The operation the tool is trying to perform, such as list, retrieve, search, render, create, update, or import preview.
  5. A request id, idempotency key, or version check when the route requires one.

HotRoute then checks whether the key is active, the account is still allowed, the scope covers the requested resource and operation, the plan allows the surface, the requested object is visible, and the route can safely return a response.

Safe denial states

Denied responses should be useful without exposing private state.

SituationWhat it means for the customer
Missing or revoked keyThe integration is not authenticated. Create, rotate, or restore access from Manage Service Accounts.
Missing scopeThe key was not granted that object family, action, team, season, playbook, or object boundary. An owner must decide whether to broaden scope.
Wrong organization or hidden objectHotRoute may refuse or return a not-found style response so one organization cannot learn about another organization's data.
Unavailable plan or add-onThe organization does not currently have the plan, add-on, or grant required for that route.
Lifecycle deniedThe object is draft-only, archived, hidden, missing a published version, or otherwise not safe for this external route.
Rate limitedThe integration sent too many requests for the current customer, service account, or route class. Retry after the indicated window when one is provided.
Invalid request shapeThe request was malformed, too broad, missing required team or season context, missing idempotency, or failed a field-level rule.

Do not use a denial to infer hidden object existence. If a tool receives a refusal, fix the visible scope or route the question back to an organization owner.

What good looks like

A healthy external API integration is narrow, named, and inspectable.

The owner should be able to answer:

  • Which real football workflow does this integration support?
  • Which team, season, and object family does it need?
  • Which operation classes are necessary?
  • Where is the key stored?
  • Who owns rotation and revocation?
  • What should the tool do when HotRoute refuses, rate limits, or returns an empty result?

Common questions or mistakes

Can an API key see every organization object?

No. A key only works inside the organization-owned scope the owner granted, and routes still check plan, role, lifecycle, visibility, and safe response rules.

Can an outside tool create or publish football truth?

Not by default. Retrieval, search, render, bounded schedule writes, callsheet layout drafts, and import preview are controlled surfaces. Review, publish, archive, billing, membership, support-admin, and platform-admin authority stay out of service-account access unless a later approved workflow says otherwise.

Can I connect outside approved HotRoute routes?

No. Approved integrations use documented HotRoute API routes. They do not receive broad backend credentials or unreviewed access paths.

Why did the route return not found when I expected an authorization error?

Sometimes hiding object existence is safer than confirming that an object exists but is unavailable. Treat either response as a sign to check scope, team, season, lifecycle, and owner approval.

Start with Manage Service Accounts when an owner needs to create or rotate a key.

Use Install the hot CLI when the approved integration will connect through the HotRoute command-line tool.

Read Customer Agent Integrations before connecting Codex, Claude, ChatGPT, MCP, hotroute-tools, or another approved agent-style tool.

Use Retrieval and Search when the integration needs product-doc citations or customer-private canonical search.

Read next

Previous
Retrieval and Search