# Athletes Ocean public catalog API

Athletes Ocean is an online training platform where wrestlers and grapplers learn from NCAA
champions, Olympic medalists and world-class coaches. This document covers the read-only slice of
the API that is open to everyone. Machine-readable form: [OpenAPI 3.1](https://app.athletesocean.com/.well-known/openapi.json).

Base URL: `https://api.athletesocean.com`

No credential is required for anything below. For user-scoped data, read [auth.md](https://app.athletesocean.com/auth.md).

## Endpoints

### `GET /products/all`

Lists instructionals and subscriptions.

| Query | Meaning |
| --- | --- |
| `type` | `Instructional` or `Subscription` |
| `query` | free-text search over the catalog |
| `instructors` | comma-separated instructor ids |
| `sports` | comma-separated sports |
| `page`, `limit` | pagination; `limit` caps at 200 |
| `includeUser` | embed the instructor on each product |
| `includeRatings` | embed reviews on each product |

```
curl "https://api.athletesocean.com/products/all?type=Instructional&limit=20&includeUser=true"
```

### `GET /products/slug/{slug}`

One product. The slug is the same one that appears in `https://app.athletesocean.com/product/{slug}`.

### `GET /products/{productId}/videos`

The curriculum — chapter names, lesson titles and ordering. Playable video URLs are never returned
here; they are gated behind a purchase.

### `GET /instructors/all` and `GET /instructors/{id}`

The champions and coaches who teach on the platform. Profile pages live at
`https://app.athletesocean.com/profile/{id}`.

### `GET /bundles/slug/{slug}`

A discounted collection of products, with the products embedded.

### `GET /test/health`

Liveness probe. Returns `{"msg":"ok"}`.

## Conventions

- Money is always **integer cents** (`priceInCents: 9900` is $99.00).
- `duration` is **seconds**.
- Timestamps are ISO 8601 UTC.
- Errors are JSON: `{"message": "..."}`.

## Other ways in

- **MCP** — `https://app.athletesocean.com/mcp` exposes the same catalog as tools over Streamable HTTP.
- **Markdown** — send `Accept: text/markdown` to any page on `https://app.athletesocean.com` to get that page as
  markdown instead of HTML.
- **llms.txt** — [https://app.athletesocean.com/llms.txt](https://app.athletesocean.com/llms.txt) is the short orientation file.
- **Sitemap** — [https://app.athletesocean.com/sitemap.xml](https://app.athletesocean.com/sitemap.xml) enumerates every public page.

## Fair use

The catalog is open so agents can answer questions about it accurately. Please keep request rates
reasonable, identify your agent in the `User-Agent` header, and honour the content preferences
declared in [robots.txt](https://app.athletesocean.com/robots.txt) — training on this content is not permitted.
