> For the complete documentation index, see [llms.txt](https://docs.podplay.app/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.podplay.app/api/content/replays.md).

# Replays

Video replay recording, processing, and delivery.

## GET /replays/{replayId}

>

```json
{"openapi":"3.0.0","info":{"title":"PodPlay Inc API","version":"2.0"},"tags":[{"name":"Replays","description":"Video replay recording, processing, and delivery."}],"servers":[{"url":"/apis/v2","description":"Current Server"}],"paths":{"/replays/{replayId}":{"get":{"operationId":"ReplaysController_findReplay","parameters":[{"name":"replayId","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"Returns a `ReplayDto`","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReplayDto"}}}}},"tags":["Replays"]}}},"components":{"schemas":{"ReplayDto":{"type":"object","properties":{"id":{"type":"string","readOnly":true},"type":{"type":"string","enum":["QUICK_REPLAY","CUSTOM_REPLAY","ENHANCED_REPLAY"]},"actionType":{"type":"string","enum":["PREVIEW","ORDER"],"description":"Action type: PREVIEW to simulate order, ORDER to create"},"paymentMode":{"type":"string","enum":["PAID","FREE_OF_CHARGE"],"writeOnly":true,"description":"Payment mode: PAID (default) or FREE_OF_CHARGE. FREE_OF_CHARGE is only available for admins/managers/staff from the dashboard."},"chargeStrategy":{"type":"string","enum":["CHARGE_CUSTOMER_FULL","CHARGE_CUSTOMER_PROCESSING","CHARGE_CLUB_PROCESSING"],"description":"Charge strategy for enhanced replays (admin only). Determines how costs are split between customer and club."},"billingUser":{"writeOnly":true,"description":"User to bill for this replay (admin only). If not specified, the event booker is charged.","allOf":[{"$ref":"#/components/schemas/ItemRefDto"}]},"status":{"type":"string","enum":["ORDERED","CLIP_FAILED","CHARGE_FAILED","READY","INVALID"],"readOnly":true},"table":{"$ref":"#/components/schemas/ItemRefDto"},"startTime":{"format":"date-time","type":"string"},"endTime":{"format":"date-time","type":"string"},"lengthMilliseconds":{"type":"number","readOnly":true},"video":{"readOnly":true,"allOf":[{"$ref":"#/components/schemas/ReplayVideoDto"}]},"preview":{"readOnly":true,"allOf":[{"$ref":"#/components/schemas/ImageDto"}]},"likes":{"type":"object","readOnly":true},"enhancedVideoUrl":{"type":"string","readOnly":true,"description":"URL to the AI-enhanced analysis page"},"flags":{"readOnly":true,"description":"Feature flags for this replay (e.g. \"AUTO_ENHANCE\")","type":"array","items":{"type":"string"}},"summary":{"readOnly":true,"description":"Pricing summary including subtotal, taxes, total, and available charge options","allOf":[{"$ref":"#/components/schemas/ReplaySummaryDto"}]},"user":{"readOnly":true,"description":"User associated with this replay","allOf":[{"$ref":"#/components/schemas/ItemRefDto"}]},"_links":{"type":"object","readOnly":true}},"required":["id","type","status","table","startTime","endTime","lengthMilliseconds","video","preview","likes","enhancedVideoUrl","flags","user","_links"]},"ItemRefDto":{"type":"object","properties":{"id":{"type":"string","description":"The unique identifier of the resource"}},"required":["id"]},"ReplayVideoDto":{"type":"object","properties":{"low":{"$ref":"#/components/schemas/LinkDto"},"medium":{"$ref":"#/components/schemas/LinkDto"},"high":{"$ref":"#/components/schemas/LinkDto"},"web":{"$ref":"#/components/schemas/LinkDto"},"hls":{"$ref":"#/components/schemas/LinkDto"}},"required":["low","medium","high","web","hls"]},"LinkDto":{"type":"object","properties":{"href":{"type":"string","description":"A URL"}},"required":["href"]},"ImageDto":{"type":"object","properties":{"id":{"type":"string"},"small":{"$ref":"#/components/schemas/LinkDto"},"medium":{"$ref":"#/components/schemas/LinkDto"},"large":{"$ref":"#/components/schemas/LinkDto"},"_links":{"$ref":"#/components/schemas/LinksDto"}},"required":["id","small","medium","large","_links"]},"LinksDto":{"type":"object","properties":{"self":{"description":"A `LinkDto` to the resource itself","allOf":[{"$ref":"#/components/schemas/LinkDto"}]}},"required":["self"]},"ReplaySummaryDto":{"type":"object","properties":{"currency":{"type":"string","readOnly":true,"description":"Currency code (e.g., USD)"},"subtotal":{"type":"number","readOnly":true,"description":"Subtotal before taxes"},"taxes":{"readOnly":true,"description":"Tax breakdown","type":"array","items":{"$ref":"#/components/schemas/TaxDto"}},"total":{"type":"number","readOnly":true,"description":"Total price including taxes"},"chargeOptions":{"readOnly":true,"nullable":true,"description":"Available charge options for enhanced replays (admin only)","type":"array","items":{"$ref":"#/components/schemas/ReplayChargeOptionDto"}},"errors":{"readOnly":true,"nullable":true,"type":"array","items":{"$ref":"#/components/schemas/ValidationErrorDto"}},"messages":{"readOnly":true,"nullable":true,"type":"array","items":{"$ref":"#/components/schemas/MessageDto"}}},"required":["currency","subtotal","taxes","total","chargeOptions","errors","messages"]},"TaxDto":{"type":"object","properties":{"name":{"type":"string","readOnly":true},"amount":{"type":"number","readOnly":true,"description":"Amount (in $) corresponding to this tax item"},"percentage":{"type":"number","readOnly":true,"description":"Tax percentage that was applied to a subtotal amount, used to display the tax rate. eg: {TaxName}: 9%"}},"required":["name","amount","percentage"]},"ReplayChargeOptionDto":{"type":"object","properties":{"id":{"type":"string","readOnly":true,"description":"Charge strategy identifier","enum":["CHARGE_CUSTOMER_FULL","CHARGE_CUSTOMER_PROCESSING","CHARGE_CLUB_PROCESSING"]},"label":{"type":"string","readOnly":true,"description":"Human-readable label"},"pricing":{"readOnly":true,"description":"Pricing for this charge option","allOf":[{"$ref":"#/components/schemas/ReplayChargeOptionPricingDto"}]}},"required":["id","label","pricing"]},"ReplayChargeOptionPricingDto":{"type":"object","properties":{"subtotal":{"type":"number","readOnly":true,"description":"Subtotal before taxes"},"taxes":{"readOnly":true,"description":"Tax breakdown","type":"array","items":{"$ref":"#/components/schemas/TaxDto"}},"total":{"type":"number","readOnly":true,"description":"Total price including taxes"}},"required":["subtotal","taxes","total"]},"ValidationErrorDto":{"type":"object","properties":{"code":{"type":"string","readOnly":true},"message":{"type":"string","readOnly":true},"details":{"type":"object","readOnly":true,"nullable":true}},"required":["code","message","details"]},"MessageDto":{"type":"object","properties":{"code":{"type":"string","readOnly":true},"message":{"type":"string","readOnly":true}},"required":["code","message"]}}}}
```

## POST /replays/{playbackId}/enhance

>

```json
{"openapi":"3.0.0","info":{"title":"PodPlay Inc API","version":"2.0"},"tags":[{"name":"Replays","description":"Video replay recording, processing, and delivery."}],"servers":[{"url":"/apis/v2","description":"Current Server"}],"security":[{"bearer":[]}],"components":{"securitySchemes":{"bearer":{"scheme":"bearer","bearerFormat":"JWT","type":"http"}},"schemas":{"ReplayEnhancementDto":{"type":"object","properties":{"actionType":{"type":"string","description":"Action type: PREVIEW to simulate order, ORDER to create"},"paymentMethod":{"description":"Stripe payment method reference for processing the payment","allOf":[{"$ref":"#/components/schemas/ItemRefDto"}]},"paymentMode":{"type":"string","enum":["PAID","FREE_OF_CHARGE"],"writeOnly":true,"nullable":true,"description":"Payment mode: PAID (default) or FREE_OF_CHARGE. FREE_OF_CHARGE is only available for admins/managers from the dashboard."},"chargeStrategy":{"type":"string","enum":["CHARGE_CUSTOMER_FULL","CHARGE_CUSTOMER_PROCESSING","CHARGE_CLUB_PROCESSING"],"description":"Charge strategy for enhancement (admin only). Determines how costs are split between customer and club."},"billingUser":{"description":"User to bill for this enhancement (admin only). If not specified, the session user is charged.","allOf":[{"$ref":"#/components/schemas/ItemRefDto"}]}},"required":["paymentMode"]},"ItemRefDto":{"type":"object","properties":{"id":{"type":"string","description":"The unique identifier of the resource"}},"required":["id"]},"ReplayDto":{"type":"object","properties":{"id":{"type":"string","readOnly":true},"type":{"type":"string","enum":["QUICK_REPLAY","CUSTOM_REPLAY","ENHANCED_REPLAY"]},"actionType":{"type":"string","enum":["PREVIEW","ORDER"],"description":"Action type: PREVIEW to simulate order, ORDER to create"},"paymentMode":{"type":"string","enum":["PAID","FREE_OF_CHARGE"],"writeOnly":true,"description":"Payment mode: PAID (default) or FREE_OF_CHARGE. FREE_OF_CHARGE is only available for admins/managers/staff from the dashboard."},"chargeStrategy":{"type":"string","enum":["CHARGE_CUSTOMER_FULL","CHARGE_CUSTOMER_PROCESSING","CHARGE_CLUB_PROCESSING"],"description":"Charge strategy for enhanced replays (admin only). Determines how costs are split between customer and club."},"billingUser":{"writeOnly":true,"description":"User to bill for this replay (admin only). If not specified, the event booker is charged.","allOf":[{"$ref":"#/components/schemas/ItemRefDto"}]},"status":{"type":"string","enum":["ORDERED","CLIP_FAILED","CHARGE_FAILED","READY","INVALID"],"readOnly":true},"table":{"$ref":"#/components/schemas/ItemRefDto"},"startTime":{"format":"date-time","type":"string"},"endTime":{"format":"date-time","type":"string"},"lengthMilliseconds":{"type":"number","readOnly":true},"video":{"readOnly":true,"allOf":[{"$ref":"#/components/schemas/ReplayVideoDto"}]},"preview":{"readOnly":true,"allOf":[{"$ref":"#/components/schemas/ImageDto"}]},"likes":{"type":"object","readOnly":true},"enhancedVideoUrl":{"type":"string","readOnly":true,"description":"URL to the AI-enhanced analysis page"},"flags":{"readOnly":true,"description":"Feature flags for this replay (e.g. \"AUTO_ENHANCE\")","type":"array","items":{"type":"string"}},"summary":{"readOnly":true,"description":"Pricing summary including subtotal, taxes, total, and available charge options","allOf":[{"$ref":"#/components/schemas/ReplaySummaryDto"}]},"user":{"readOnly":true,"description":"User associated with this replay","allOf":[{"$ref":"#/components/schemas/ItemRefDto"}]},"_links":{"type":"object","readOnly":true}},"required":["id","type","status","table","startTime","endTime","lengthMilliseconds","video","preview","likes","enhancedVideoUrl","flags","user","_links"]},"ReplayVideoDto":{"type":"object","properties":{"low":{"$ref":"#/components/schemas/LinkDto"},"medium":{"$ref":"#/components/schemas/LinkDto"},"high":{"$ref":"#/components/schemas/LinkDto"},"web":{"$ref":"#/components/schemas/LinkDto"},"hls":{"$ref":"#/components/schemas/LinkDto"}},"required":["low","medium","high","web","hls"]},"LinkDto":{"type":"object","properties":{"href":{"type":"string","description":"A URL"}},"required":["href"]},"ImageDto":{"type":"object","properties":{"id":{"type":"string"},"small":{"$ref":"#/components/schemas/LinkDto"},"medium":{"$ref":"#/components/schemas/LinkDto"},"large":{"$ref":"#/components/schemas/LinkDto"},"_links":{"$ref":"#/components/schemas/LinksDto"}},"required":["id","small","medium","large","_links"]},"LinksDto":{"type":"object","properties":{"self":{"description":"A `LinkDto` to the resource itself","allOf":[{"$ref":"#/components/schemas/LinkDto"}]}},"required":["self"]},"ReplaySummaryDto":{"type":"object","properties":{"currency":{"type":"string","readOnly":true,"description":"Currency code (e.g., USD)"},"subtotal":{"type":"number","readOnly":true,"description":"Subtotal before taxes"},"taxes":{"readOnly":true,"description":"Tax breakdown","type":"array","items":{"$ref":"#/components/schemas/TaxDto"}},"total":{"type":"number","readOnly":true,"description":"Total price including taxes"},"chargeOptions":{"readOnly":true,"nullable":true,"description":"Available charge options for enhanced replays (admin only)","type":"array","items":{"$ref":"#/components/schemas/ReplayChargeOptionDto"}},"errors":{"readOnly":true,"nullable":true,"type":"array","items":{"$ref":"#/components/schemas/ValidationErrorDto"}},"messages":{"readOnly":true,"nullable":true,"type":"array","items":{"$ref":"#/components/schemas/MessageDto"}}},"required":["currency","subtotal","taxes","total","chargeOptions","errors","messages"]},"TaxDto":{"type":"object","properties":{"name":{"type":"string","readOnly":true},"amount":{"type":"number","readOnly":true,"description":"Amount (in $) corresponding to this tax item"},"percentage":{"type":"number","readOnly":true,"description":"Tax percentage that was applied to a subtotal amount, used to display the tax rate. eg: {TaxName}: 9%"}},"required":["name","amount","percentage"]},"ReplayChargeOptionDto":{"type":"object","properties":{"id":{"type":"string","readOnly":true,"description":"Charge strategy identifier","enum":["CHARGE_CUSTOMER_FULL","CHARGE_CUSTOMER_PROCESSING","CHARGE_CLUB_PROCESSING"]},"label":{"type":"string","readOnly":true,"description":"Human-readable label"},"pricing":{"readOnly":true,"description":"Pricing for this charge option","allOf":[{"$ref":"#/components/schemas/ReplayChargeOptionPricingDto"}]}},"required":["id","label","pricing"]},"ReplayChargeOptionPricingDto":{"type":"object","properties":{"subtotal":{"type":"number","readOnly":true,"description":"Subtotal before taxes"},"taxes":{"readOnly":true,"description":"Tax breakdown","type":"array","items":{"$ref":"#/components/schemas/TaxDto"}},"total":{"type":"number","readOnly":true,"description":"Total price including taxes"}},"required":["subtotal","taxes","total"]},"ValidationErrorDto":{"type":"object","properties":{"code":{"type":"string","readOnly":true},"message":{"type":"string","readOnly":true},"details":{"type":"object","readOnly":true,"nullable":true}},"required":["code","message","details"]},"MessageDto":{"type":"object","properties":{"code":{"type":"string","readOnly":true},"message":{"type":"string","readOnly":true}},"required":["code","message"]}}},"paths":{"/replays/{playbackId}/enhance":{"post":{"operationId":"ReplayEnhancementController_enhanceReplay","parameters":[{"name":"playbackId","required":true,"in":"path","description":"Replay playback ID","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReplayEnhancementDto"}}}},"responses":{"200":{"description":"Returns the updated replay","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReplayDto"}}}},"400":{"description":"Invalid replay, video URL not accessible, or PBVision not configured"},"403":{"description":"User does not have permission to enhance this replay"},"404":{"description":"Replay not found"},"422":{"description":"User needs to add a payment method or replay is already enhanced"}},"tags":["Replays"]}}}}
```


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.podplay.app/api/content/replays.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
