---
title: "Musikeando — API & developer documentation"
description: "Public API of Musikeando: catalog endpoints, song creation, authentication model, and the discovery documents agents can read."
canonical: "https://musikeando.com/docs"
last-updated: "2026-09-17"
---

# API & developer documentation

Musikeando exposes a public HTTP API over the same origin as the site. Read endpoints require no credentials. The song-creation flow works with an anonymous guest session; purchasing requires an account.

## Base URL

```
https://musikeando.com
```

## Authentication

Authenticated calls use the Musikeando session cookie, set by the sign-in flow. Send cookies with the request. Endpoints that require a session answer `401` with `WWW-Authenticate: Bearer resource_metadata=...` pointing at the protected-resource metadata.

Full walkthrough: https://musikeando.com/auth.md

## Endpoints

| Method | Path | Description | Auth |
| --- | --- | --- | --- |
| GET | `/api/health` | Service health probe. | none |
| GET | `/api/pricing` | Public first-purchase pricing catalog. | none |
| POST | `/api/pricing` | Validate a coupon or discount code. | none |
| GET | `/api/occasions` | Active gift occasions. | none |
| GET | `/api/testimonials` | Approved customer testimonials. | none |
| GET | `/api/blog` | Published blog posts for the current market. | none |
| POST | `/api/contact` | Send a contact message. | none |
| POST | `/api/auth/register` | Create an account. | none |
| POST | `/api/songs/create` | Start a personalized song order. | guest session |
| GET | `/api/music/status/{taskId}` | Check generation status. | guest session |
| POST | `/api/payments/create-final-intent` | Create a Stripe payment intent. | account |

## Errors

Errors are JSON: `{ "error": "<message>", "details": <optional> }`. Unknown `/api/*` paths answer a JSON 404.

## Discovery documents

- [/openapi.json](https://musikeando.com/openapi.json) — OpenAPI 3.1 description
- [/.well-known/api-catalog](https://musikeando.com/.well-known/api-catalog) — API catalog (RFC 9727)
- [/.well-known/ard.json](https://musikeando.com/.well-known/ard.json) — Agentic resource discovery (ARD)
- [/.well-known/agent-skills/index.json](https://musikeando.com/.well-known/agent-skills/index.json) — Agent skills index
- [/.well-known/agent-card.json](https://musikeando.com/.well-known/agent-card.json) — A2A agent card
- [/.well-known/mcp/server-card.json](https://musikeando.com/.well-known/mcp/server-card.json) — MCP server card
- [/.well-known/mcp/docs/server-card.json](https://musikeando.com/.well-known/mcp/docs/server-card.json) — MCP documentation server card
- [/.well-known/mcp](https://musikeando.com/.well-known/mcp) — MCP server (Streamable HTTP, read-only catalog tools)
- [/.well-known/mcp/docs](https://musikeando.com/.well-known/mcp/docs) — MCP documentation server
- [/.well-known/oauth-protected-resource](https://musikeando.com/.well-known/oauth-protected-resource) — Protected resource metadata (RFC 9728)
- [/auth.md](https://musikeando.com/auth.md) — auth.md — agent authentication
- [/llms.txt](https://musikeando.com/llms.txt) — llms.txt
- [/llms.md](https://musikeando.com/llms.md) — llms.md
- [/pricing.md](https://musikeando.com/pricing.md) — pricing.md
- [/agents.md](https://musikeando.com/agents.md) — agents.md — when to use this service
- [/docs.md](https://musikeando.com/docs.md) — this page as markdown
- [/docs/llms.txt](https://musikeando.com/docs/llms.txt) — developer llms.txt
