# PunchPlay ## Docs - [Complete OAuth consent](https://docs.punchplay.tv/api-reference/platform-auth/complete-oauth-consent.md): Submit the consent form for an authorization request. - [Create a device code](https://docs.punchplay.tv/api-reference/platform-auth/create-a-device-code.md): Start the PunchPlay device flow for a registered developer app. - [Exchange a device code for tokens](https://docs.punchplay.tv/api-reference/platform-auth/exchange-a-device-code-for-tokens.md): Poll this endpoint until the user approves the device code. - [Exchange OAuth codes or refresh tokens](https://docs.punchplay.tv/api-reference/platform-auth/exchange-oauth-codes-or-refresh-tokens.md): Exchanges an authorization code for tokens or refreshes an access token. Accepts `application/x-www-form-urlencoded` or JSON bodies. - [Refresh an access token for device-code clients](https://docs.punchplay.tv/api-reference/platform-auth/refresh-an-access-token-for-device-code-clients.md) - [Start OAuth authorization code + PKCE](https://docs.punchplay.tv/api-reference/platform-auth/start-oauth-authorization-code-+-pkce.md): Redirect the user into PunchPlay login and consent. - [Get the authenticated PunchPlay identity](https://docs.punchplay.tv/api-reference/platform-identity/get-the-authenticated-punchplay-identity.md) - [Get all active in-progress items](https://docs.punchplay.tv/api-reference/playback/get-all-active-in-progress-items.md) - [Get the current now-playing item](https://docs.punchplay.tv/api-reference/playback/get-the-current-now-playing-item.md) - [Send a playback lifecycle event](https://docs.punchplay.tv/api-reference/playback/send-a-playback-lifecycle-event.md): Send playback updates into PunchPlay. - [Subscribe to playback update events](https://docs.punchplay.tv/api-reference/playback/subscribe-to-playback-update-events.md): Opens a server-sent events stream. Use the stream as an invalidation signal, then fetch now-playing or in-progress state separately. - [Get a public user profile payload](https://docs.punchplay.tv/api-reference/public-users/get-a-public-user-profile-payload.md) - [Authentication](https://docs.punchplay.tv/authentication.md): Implement PunchPlay auth for browser, native, desktop, and TV apps. - [Changelog](https://docs.punchplay.tv/changelog.md): Track externally visible changes to PunchPlay's developer platform. - [Errors & Rate Limits](https://docs.punchplay.tv/errors-rate-limits.md): Understand PunchPlay's current developer-facing failure modes and request limits. - [Overview](https://docs.punchplay.tv/index.md): Build secure apps on top of PunchPlay's versioned platform and public APIs. - [Live Events](https://docs.punchplay.tv/live-events.md): Read now-playing state, in-progress items, and server-sent playback updates. - [Playback API](https://docs.punchplay.tv/playback-api.md): Send playback lifecycle events into PunchPlay and keep user state in sync. - [Public API](https://docs.punchplay.tv/public-api.md): Read public PunchPlay profile data without authentication. - [Quickstart](https://docs.punchplay.tv/quickstart.md): Register a developer app, authorize a user, and send your first playback event. ## OpenAPI Specs - [openapi](https://docs.punchplay.tv/openapi.yaml)