Developer documentation
PersonWise oEmbed
Turn a public PersonWise course URL into a responsive, voice-interactive player without asking authors to paste iframe HTML.
Endpoint
Send an HTTP GET request. JSON is the supported response format; url is required, while maxwidth and maxheight are optional positive pixel constraints.
https://personwise.ai/api/oembedSupported URL scheme
https://personwise.ai/t/*/publicOnly link-accessible PersonWise public-course pages resolve. Private, withdrawn, unavailable, and unknown courses return a not-found response.
Example request
https://personwise.ai/api/oembed?url=https%3A%2F%2Fpersonwise.ai%2Ft%2F1646a8a8%2Fpublic&format=json&maxwidth=800Example response
{
"version": "1.0",
"type": "rich",
"provider_name": "PersonWise",
"title": "Example interactive course",
"width": 800,
"height": 450,
"html": "<iframe src=\"https://personwise.ai/embed/1646a8a8\" ...></iframe>"
}Provider behavior
- The endpoint parses only PersonWise course URLs and never fetches a caller-supplied origin.
- Representations preserve 16:9 and honor maxwidth and maxheight.
- The iframe requests microphone and autoplay permissions; hosts that remove them receive the player’s built-in fallback.
- Resolved course pages advertise the endpoint with application/json+oembed discovery metadata.