The SeaMind API is a REST API built on FastAPI. All endpoints return JSON responses.
Base URL
Authentication
Most endpoints require a Bearer token. Include it in the Authorization header:
Authorization: Bearer <your-token>
Tokens are issued through SSO authentication via WorkOS.
API structure
The API is organized into product-scoped namespaces:
| Namespace | Prefix | What it covers |
|---|
| Shared | /api/v1/shared/ | Cross-product resources — users, ships, webhooks |
| Learn | /api/v1/learn/ | Training, courses, assignments, registrations, analytics |
Shared endpoints
| Resource | Prefix | Description |
|---|
| Users | /api/v1/shared/users/ | Crew members and their profiles |
| Ships | /api/v1/shared/ships/ | Manage vessels in your fleet |
| Webhooks | /api/v1/shared/webhooks/ | WorkOS webhook handlers for SSO and directory sync |
Learn endpoints
| Resource | Prefix | Description |
|---|
| Courses | /api/v1/learn/courses/ | Training modules with slides and quizzes |
| Curriculums | /api/v1/learn/curriculums/ | Programs — groups of courses |
| Assignments | /api/v1/learn/assignments/ | Crew-ship placements with roles and dates |
| Registrations | /api/v1/learn/registrations/ | Training progress — one person, one course |
| xAPI | /api/v1/learn/xapi/ | Course launch URLs and learning record integration |
| Analytics | /api/v1/learn/analytics/ | Learner performance metrics |
| Admin | /api/v1/learn/admin/ | Dashboard stats and admin analytics |
As new products launch (Watch, Guard, Assist), they will each get their own namespaced API under /api/v1/{product}/.
Conventions
- Pagination — List endpoints accept
page and page_size query parameters.
- Search — Most list endpoints accept a
search query parameter for filtering by name or title.
- IDs — All resource IDs are UUIDs.
- Dates — ISO 8601 format (
2025-06-15T00:00:00Z).
- Errors — Standard HTTP status codes with JSON error bodies.
The API playground on each endpoint page lets you try requests directly. You’ll need a valid Bearer token to authenticate.