AI Hero public discovery Base URL: https://www.aihero.dev Start here: - https://www.aihero.dev/.well-known/api-catalog -> standard API catalog linkset - https://www.aihero.dev/api -> stable public JSON discovery document - https://www.aihero.dev/sitemap.md -> markdown discovery index - https://www.aihero.dev/sitemap.xml -> XML sitemap for crawlers - https://www.aihero.dev/llms.txt -> short operator hint surface Human route families: - Posts and lists: `https://www.aihero.dev/` - Workshop lessons: `https://www.aihero.dev/workshops//` for free public lessons - Tutorial lessons: `https://www.aihero.dev/tutorials//` - Workshop landing pages: `https://www.aihero.dev/workshops/` - Products: `https://www.aihero.dev/products/` - Cohorts: `https://www.aihero.dev/cohorts/` - Events: `https://www.aihero.dev/events/` - Skills: `https://www.aihero.dev/skills` catalogue, featured skills, editorial guides, and changelog - AI Coding Dictionary: `https://www.aihero.dev/ai-coding-dictionary` - AI Coding Dictionary entries: `https://www.aihero.dev/ai-coding-dictionary/` Markdown twins: - Posts and lists: `https://www.aihero.dev/.md` - Workshop lessons: `https://www.aihero.dev/workshops//.md` for free public lessons - Tutorial lessons: `https://www.aihero.dev/tutorials//.md` - Workshop landing pages: `https://www.aihero.dev/workshops/.md` - Products: `https://www.aihero.dev/products/.md` - Cohorts: `https://www.aihero.dev/cohorts/.md` - Events: `https://www.aihero.dev/events/.md` - Skills: `https://www.aihero.dev/skills.md` catalogue, featured skills, editorial guides, and changelog Public JSON APIs: - https://www.aihero.dev/api -> public discovery document for formats, route families, agent tokens, and next actions - https://www.aihero.dev/api/openapi.json -> OpenAPI 3.1 contract with bearer auth, scope requirements, and token-management schemas - https://www.aihero.dev/v1/course-sync/openapi.json -> OpenAPI contract for the course-sync control plane - https://www.aihero.dev/api/search?q= -> public search entry point for public content - https://www.aihero.dev/api/resources?slugOrId=&type= -> structured resource lookup by slug or id Agent tokens: - Full guide: https://www.aihero.dev/api - OpenAPI contract: https://www.aihero.dev/api/openapi.json - Present any bearer as: Authorization: Bearer TOKEN - Scoped agent tokens start with aih_pat_. Admin device tokens are separate opaque bearer credentials. - Admin device tokens can POST/GET https://www.aihero.dev/api/personal-access-tokens and DELETE https://www.aihero.dev/api/personal-access-tokens/TOKEN_ID. - Mint returns the complete agent token once. Optional expiresAt defaults to no automatic expiry; revocation is the kill switch. - Active scopes: content:read, content:write, content:publish, content:relations, media:upload, and shortlinks:manage. - content:read includes approved draft, unpublished, private, and unlisted CMS reads. - Combine scopes for a job. For example, upload, attach, and publish a video-backed entry with media:upload, content:relations, content:write, and content:publish. - media:upload covers multipart upload and processing routes; raw Mux/video payloads and the legacy signed URL route remain excluded. - Reserved scopes analytics:read and analytics:chat currently grant no endpoint access. - Every PAT excludes user administration, purchases, survey responses, support memory, PAT administration, and unrelated CMS/admin routes. - 401 usually means the credential is missing, invalid, expired, or revoked; legacy content reads may also use 401 when a valid token lacks Content read ability. 403 means the credential is valid but excluded from that operation. Read the docs field and https://www.aihero.dev/api before retrying. Mint example (placeholder credential): curl -X POST 'https://www.aihero.dev/api/personal-access-tokens' -H 'Authorization: Bearer ADMIN_DEVICE_TOKEN' -H 'Content-Type: application/json' --data '{"name":"content-reader","scopes":["content:read"]}' Read example (placeholder credential): curl 'https://www.aihero.dev/api/posts' -H 'Authorization: Bearer AGENT_TOKEN' Formats: - HTML by default - Markdown via explicit .md twins on supported public content - JSON discovery via /api Notes: - Discovery surfaces only reference public or free content. - Existing Accept: text/markdown negotiation still works on the currently supported post and lesson routes.