Skip to main content

Documentation Index

Fetch the complete documentation index at: https://ansdevcloud.mintlify.app/llms.txt

Use this file to discover all available pages before exploring further.

Events

The Player SDK emits 5 lifecycle events. React consumers wire them as callback props; Web Component consumers listen for DOM events that bubble out of the Shadow Root.
EventReact propDetail payload
ansdev:readyonReady(durationSec: number)
ansdev:playonPlay
ansdev:pauseonPause
ansdev:endedonEnded
ansdev:erroronError({ code: string, message: string })

React

<AnsdevPlayer
  apiKey={key}
  videoId={id}
  onReady={(dur) => console.log('ready', dur)}
  onPlay ={() => analytics.track('video.play',  { id })}
  onPause={() => analytics.track('video.pause', { id })}
  onEnded={() => analytics.track('video.ended', { id })}
  onError={(e) => Sentry.captureMessage(`${e.code}: ${e.message}`)}
/>

Web Component

<ansdev-player id="player" api-key="…" video-id="…"></ansdev-player>

<script>
  const player = document.getElementById('player');
  player.addEventListener('ansdev:ready', (e) => {
    console.log('ready', e.detail.duration);
  });
  player.addEventListener('ansdev:error', (e) => {
    console.error(e.detail.code, e.detail.message);
  });
</script>
Events bubble: true and composed: true, so you can also listen on an ancestor (e.g. document.addEventListener('ansdev:play', …)).

Error codes

The same set you’d see in API responses, plus one client-side code:
CodeWhen
INIT_ERRORGeneric init failure (network, hls.js setup, etc.).
INVALID_API_KEYAPI rejected the key — rotate.
RATE_LIMIT_EXCEEDEDAPI key daily token quota hit.
VIDEO_NOT_FOUNDVideo doesn’t exist or isn’t yours.
VIDEO_NOT_READYTranscoding still in flight.
The full catalog lives in API → Errors.