{"openapi":"3.1.0","info":{"title":"Transcript API","version":"0.1.0"},"paths":{"/v1/me/api-key":{"get":{"summary":"Get My Api Key","description":"The caller's active key (masked prefix only - never the plaintext) plus\ntheir live tier. ``has_key`` is False if they have none yet.","operationId":"get_my_api_key_v1_me_api_key_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiKeyState"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/me/api-key/ensure":{"post":{"summary":"Ensure My Api Key","description":"Idempotently guarantee the caller has an API key. Returns the existing\none if present (no plaintext); otherwise mints one and returns the plaintext\nONCE. Called on login so every user always has exactly one key.","operationId":"ensure_my_api_key_v1_me_api_key_ensure_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiKeyState"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/me/api-key/regenerate":{"post":{"summary":"Regenerate My Api Key","description":"Rotate the caller's key: the old key stops working immediately and a new\nplaintext is returned ONCE. Same single-key slot.","operationId":"regenerate_my_api_key_v1_me_api_key_regenerate_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiKeyState"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/me/transcriptions":{"get":{"summary":"List My Transcriptions","operationId":"list_my_transcriptions_v1_me_transcriptions_get","parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":20,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Offset"}},{"name":"q","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Case-insensitive substring on video_id","title":"Q"},"description":"Case-insensitive substring on video_id"},{"name":"platform","in":"query","required":false,"schema":{"anyOf":[{"enum":["youtube","x","tiktok","facebook","instagram","rednote","upload","podcast"],"type":"string"},{"type":"null"}],"description":"Filter by source platform","title":"Platform"},"description":"Filter by source platform"},{"name":"state","in":"query","required":false,"schema":{"anyOf":[{"enum":["done","in_progress","error"],"type":"string"},{"type":"null"}],"description":"done (complete), in_progress (running), or error","title":"State"},"description":"done (complete), in_progress (running), or error"},{"name":"sort","in":"query","required":false,"schema":{"enum":["created_at","duration_seconds","total_seconds"],"type":"string","default":"created_at","title":"Sort"}},{"name":"order","in":"query","required":false,"schema":{"enum":["asc","desc"],"type":"string","default":"desc","title":"Order"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TranscriptionListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/plans":{"get":{"summary":"List Plans","description":"PUBLIC live pricing + active discounts, so the landing page and billing\ntab always match what Polar actually charges. Cached in-process for a few\nminutes. Falls back to static prices when Polar isn't configured/reachable\nso the pricing UI never breaks.","operationId":"list_plans_v1_plans_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlansResponse"}}}}}}},"/v1/checkout":{"post":{"summary":"Create Checkout","operationId":"create_checkout_v1_checkout_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CheckoutRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CheckoutResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/me/subscription":{"get":{"summary":"Get My Subscription","operationId":"get_my_subscription_v1_me_subscription_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SubscriptionResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/me/subscription/reconcile":{"post":{"summary":"Reconcile My Subscription","description":"Pull the caller's subscription straight from Polar and apply the tier it\ngrants, so a checkout upgrade takes effect immediately on return instead of\nwaiting on the webhook (which may be delayed, or undeliverable in local\ndev). Idempotent and safe to poll. Also surfaces the scheduled-cancel\nstate. No-op when billing isn't configured / there's no active subscription.","operationId":"reconcile_my_subscription_v1_me_subscription_reconcile_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SubscriptionResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/me/portal":{"post":{"summary":"Customer Portal","description":"Return a short-lived, pre-authenticated Polar customer-portal URL so the\nsigned-in user can manage their payment method, view invoices, and cancel\non Polar directly. 404 when they have no Polar billing account yet.","operationId":"customer_portal_v1_me_portal_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PortalResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/me/subscription/cancel":{"post":{"summary":"Cancel My Subscription","description":"Schedule the caller's subscription to cancel at the end of the current\nbilling period. They keep their current tier until then (Polar fires\nsubscription.canceled now, and subscription.revoked at period end, which\nthe webhook turns into a downgrade to free). Returns the updated state.","operationId":"cancel_my_subscription_v1_me_subscription_cancel_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SubscriptionResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/me/subscription/resume":{"post":{"summary":"Resume My Subscription","description":"Undo a scheduled cancel: the subscription keeps its tier and resumes\nrenewing. Returns the updated state (cancel_at_period_end back to False).","operationId":"resume_my_subscription_v1_me_subscription_resume_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SubscriptionResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/me/subscription/change":{"post":{"summary":"Change My Subscription","description":"Switch the caller's existing subscription to a different paid tier\n(e.g. downgrade Ultra -> Pro), prorated. Polar fires subscription.updated\nand the webhook applies the new tier; we also reconcile it here so the\nresponse is immediately correct.","operationId":"change_my_subscription_v1_me_subscription_change_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChangeTierRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SubscriptionResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"summary":"Clear Scheduled Change","description":"Cancel a scheduled plan change (e.g. an already-requested downgrade)\nbefore it applies at period end - `pending_tier`/`pending_change_at` go\nback to null and the caller keeps their current tier indefinitely (until\nthey request another change). Does not touch `cancel_at_period_end`.","operationId":"clear_scheduled_change_v1_me_subscription_change_delete","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SubscriptionResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/publish":{"post":{"summary":"Publish","operationId":"publish_v1_publish_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublishRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublishResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/publish/{slug}":{"delete":{"summary":"Unpublish","operationId":"unpublish_v1_publish__slug__delete","parameters":[{"name":"slug","in":"path","required":true,"schema":{"type":"string","title":"Slug"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/public/index":{"get":{"summary":"Public Index","operationId":"public_index_v1_public_index_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicIndexResponse"}}}}}}},"/v1/public/{slug}":{"get":{"summary":"Get Public Transcript","operationId":"get_public_transcript_v1_public__slug__get","parameters":[{"name":"slug","in":"path","required":true,"schema":{"type":"string","title":"Slug"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Get Public Transcript V1 Public  Slug  Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/uploads/sign":{"post":{"summary":"Sign Upload","operationId":"sign_upload_v1_uploads_sign_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SignRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SignResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/podcast/resolve":{"post":{"summary":"Resolve","operationId":"resolve_v1_podcast_resolve_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResolveRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResolveResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/import":{"post":{"summary":"Start Import","operationId":"start_import_v1_import_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ImportRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ImportStartResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"summary":"List Imports","operationId":"list_imports_v1_import_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ImportBatchOut"},"title":"Response List Imports V1 Import Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/import/{batch_id}":{"get":{"summary":"Get Import","operationId":"get_import_v1_import__batch_id__get","parameters":[{"name":"batch_id","in":"path","required":true,"schema":{"type":"string","title":"Batch Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ImportBatchOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/device/code":{"post":{"summary":"Issue Device Code","operationId":"issue_device_code_v1_device_code_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeviceCodeResponse"}}}}}}},"/v1/device/token":{"post":{"summary":"Poll Device Token","operationId":"poll_device_token_v1_device_token_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeviceTokenRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/device/approve":{"post":{"summary":"Approve Device","operationId":"approve_device_v1_device_approve_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeviceApproveRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeviceApproveResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/.well-known/oauth-authorization-server":{"get":{"summary":"Authorization Server Metadata","operationId":"authorization_server_metadata__well_known_oauth_authorization_server_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Authorization Server Metadata  Well Known Oauth Authorization Server Get"}}}}}}},"/oauth/register":{"post":{"summary":"Register Client","operationId":"register_client_oauth_register_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RegisterRequest"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Register Client Oauth Register Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/oauth/authorize":{"post":{"summary":"Authorize Grant","description":"The signed-in user approving a connector. Validates the (client,\nredirect_uri) pair, mints a PKCE-bound one-time code for THIS user, and\nreturns the redirect the browser should follow back to the client.","operationId":"authorize_grant_v1_oauth_authorize_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuthorizeGrantRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Authorize Grant V1 Oauth Authorize Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/oauth/token":{"post":{"summary":"Token","operationId":"token_oauth_token_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Token Oauth Token Post"}}}}}}},"/v1/webhooks/polar":{"post":{"summary":"Polar Webhook","operationId":"polar_webhook_v1_webhooks_polar_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/health":{"get":{"summary":"Health","operationId":"health_health_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":{"type":"string"},"type":"object","title":"Response Health Health Get"}}}}}}},"/v1/transcript":{"post":{"summary":"Transcript","operationId":"transcript_v1_transcript_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TranscriptRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/languages":{"get":{"summary":"Languages","operationId":"languages_v1_languages_get","parameters":[{"name":"url","in":"query","required":true,"schema":{"type":"string","title":"Url"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Languages V1 Languages Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/jobs/{job_id}":{"get":{"summary":"Get Job","operationId":"get_job_v1_jobs__job_id__get","parameters":[{"name":"job_id","in":"path","required":true,"schema":{"type":"string","title":"Job Id"}},{"name":"format","in":"query","required":false,"schema":{"type":"string","default":"json","title":"Format"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Get Job V1 Jobs  Job Id  Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"ApiKeyState":{"properties":{"has_key":{"type":"boolean","title":"Has Key"},"key_prefix":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Key Prefix"},"tier":{"type":"string","title":"Tier"},"created_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Created At"},"key":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Key"}},"type":"object","required":["has_key","tier"],"title":"ApiKeyState"},"AuthorizeGrantRequest":{"properties":{"client_id":{"type":"string","title":"Client Id"},"redirect_uri":{"type":"string","title":"Redirect Uri"},"code_challenge":{"type":"string","title":"Code Challenge"},"code_challenge_method":{"type":"string","title":"Code Challenge Method","default":"S256"},"state":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State"},"scope":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Scope"}},"type":"object","required":["client_id","redirect_uri","code_challenge"],"title":"AuthorizeGrantRequest"},"ChangeTierRequest":{"properties":{"tier":{"type":"string","title":"Tier"}},"type":"object","required":["tier"],"title":"ChangeTierRequest"},"CheckoutRequest":{"properties":{"tier":{"type":"string","title":"Tier"}},"type":"object","required":["tier"],"title":"CheckoutRequest"},"CheckoutResponse":{"properties":{"url":{"type":"string","title":"Url"}},"type":"object","required":["url"],"title":"CheckoutResponse"},"DeviceApproveRequest":{"properties":{"user_code":{"type":"string","title":"User Code"}},"type":"object","required":["user_code"],"title":"DeviceApproveRequest"},"DeviceApproveResponse":{"properties":{"approved":{"type":"boolean","title":"Approved","default":true}},"type":"object","title":"DeviceApproveResponse"},"DeviceCodeResponse":{"properties":{"device_code":{"type":"string","title":"Device Code"},"user_code":{"type":"string","title":"User Code"},"verification_uri":{"type":"string","title":"Verification Uri"},"verification_uri_complete":{"type":"string","title":"Verification Uri Complete"},"interval":{"type":"integer","title":"Interval"},"expires_in":{"type":"integer","title":"Expires In"}},"type":"object","required":["device_code","user_code","verification_uri","verification_uri_complete","interval","expires_in"],"title":"DeviceCodeResponse"},"DeviceTokenRequest":{"properties":{"device_code":{"type":"string","title":"Device Code"}},"type":"object","required":["device_code"],"title":"DeviceTokenRequest"},"DiscountInfo":{"properties":{"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Code"},"type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Type"},"basis_points":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Basis Points"},"amount":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Amount"},"currency":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Currency"},"product_ids":{"items":{"type":"string"},"type":"array","title":"Product Ids","default":[]},"tiers":{"items":{"type":"string"},"type":"array","title":"Tiers","default":[]},"starts_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Starts At"},"ends_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Ends At"}},"type":"object","required":["name","code","type"],"title":"DiscountInfo"},"EpisodeOut":{"properties":{"guid":{"type":"string","title":"Guid"},"title":{"type":"string","title":"Title"},"published":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Published"},"duration":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Duration"},"audio_url":{"type":"string","title":"Audio Url"}},"type":"object","required":["guid","title","audio_url"],"title":"EpisodeOut"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"ImportBatchOut":{"properties":{"id":{"type":"string","title":"Id"},"source_url":{"type":"string","title":"Source Url"},"title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Title"},"total":{"type":"integer","title":"Total"},"done":{"type":"integer","title":"Done"},"failed":{"type":"integer","title":"Failed"},"skipped":{"type":"integer","title":"Skipped"},"status":{"type":"string","title":"Status"},"note":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Note"},"created_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Created At"}},"type":"object","required":["id","source_url","title","total","done","failed","skipped","status","note","created_at"],"title":"ImportBatchOut"},"ImportRequest":{"properties":{"url":{"type":"string","title":"Url"}},"type":"object","required":["url"],"title":"ImportRequest"},"ImportStartResponse":{"properties":{"batch_id":{"type":"string","title":"Batch Id"}},"type":"object","required":["batch_id"],"title":"ImportStartResponse"},"PlanInfo":{"properties":{"tier":{"type":"string","title":"Tier"},"amount":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Amount"},"currency":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Currency"},"interval":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Interval"}},"type":"object","required":["tier","amount","currency","interval"],"title":"PlanInfo"},"PlansResponse":{"properties":{"plans":{"items":{"$ref":"#/components/schemas/PlanInfo"},"type":"array","title":"Plans"},"discounts":{"items":{"$ref":"#/components/schemas/DiscountInfo"},"type":"array","title":"Discounts"},"source":{"type":"string","title":"Source"}},"type":"object","required":["plans","discounts","source"],"title":"PlansResponse"},"PortalResponse":{"properties":{"url":{"type":"string","title":"Url"}},"type":"object","required":["url"],"title":"PortalResponse"},"PublicIndexEntry":{"properties":{"slug":{"type":"string","title":"Slug"},"updated_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Updated At"}},"type":"object","required":["slug","updated_at"],"title":"PublicIndexEntry"},"PublicIndexResponse":{"properties":{"items":{"items":{"$ref":"#/components/schemas/PublicIndexEntry"},"type":"array","title":"Items"}},"type":"object","required":["items"],"title":"PublicIndexResponse"},"PublishRequest":{"properties":{"url":{"type":"string","title":"Url"},"lang":{"type":"string","title":"Lang","default":"en"}},"type":"object","required":["url"],"title":"PublishRequest"},"PublishResponse":{"properties":{"slug":{"type":"string","title":"Slug"},"url":{"type":"string","title":"Url"}},"type":"object","required":["slug","url"],"title":"PublishResponse"},"RegisterRequest":{"properties":{"redirect_uris":{"items":{"type":"string"},"type":"array","title":"Redirect Uris"},"client_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Client Name"}},"type":"object","required":["redirect_uris"],"title":"RegisterRequest"},"ResolveRequest":{"properties":{"url":{"type":"string","title":"Url"}},"type":"object","required":["url"],"title":"ResolveRequest"},"ResolveResponse":{"properties":{"kind":{"type":"string","title":"Kind"},"show":{"anyOf":[{"$ref":"#/components/schemas/ShowInfo"},{"type":"null"}]},"episodes":{"anyOf":[{"items":{"$ref":"#/components/schemas/EpisodeOut"},"type":"array"},{"type":"null"}],"title":"Episodes"},"audio_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Audio Url"}},"type":"object","required":["kind"],"title":"ResolveResponse"},"ShowInfo":{"properties":{"title":{"type":"string","title":"Title"}},"type":"object","required":["title"],"title":"ShowInfo"},"SignRequest":{"properties":{"filename":{"type":"string","title":"Filename"},"content_type":{"type":"string","title":"Content Type"}},"type":"object","required":["filename","content_type"],"title":"SignRequest"},"SignResponse":{"properties":{"object_path":{"type":"string","title":"Object Path"},"upload_url":{"type":"string","title":"Upload Url"},"source_url":{"type":"string","title":"Source Url"}},"type":"object","required":["object_path","upload_url","source_url"],"title":"SignResponse"},"SubscriptionResponse":{"properties":{"tier":{"type":"string","title":"Tier"},"limit_seconds":{"type":"integer","title":"Limit Seconds"},"used_seconds":{"type":"integer","title":"Used Seconds"},"cancel_at_period_end":{"type":"boolean","title":"Cancel At Period End","default":false},"current_period_end":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Current Period End"},"pending_tier":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Pending Tier"},"pending_change_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Pending Change At"},"payment_state":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Payment State"}},"type":"object","required":["tier","limit_seconds","used_seconds"],"title":"SubscriptionResponse"},"TranscriptRequest":{"properties":{"url":{"type":"string","maxLength":2048,"title":"Url","default":""},"upload":{"anyOf":[{"type":"string","maxLength":2048},{"type":"null"}],"title":"Upload"},"audio":{"anyOf":[{"type":"string","maxLength":2048},{"type":"null"}],"title":"Audio"},"lang":{"type":"string","title":"Lang","default":"en"},"format":{"type":"string","title":"Format","default":"json"}},"type":"object","title":"TranscriptRequest"},"TranscriptionEntry":{"properties":{"id":{"type":"string","title":"Id"},"video_id":{"type":"string","title":"Video Id"},"lang":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Lang"},"source":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source"},"duration_seconds":{"type":"integer","title":"Duration Seconds"},"total_seconds":{"type":"integer","title":"Total Seconds"},"complete":{"type":"boolean","title":"Complete"},"job_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Job Id"},"status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"},"created_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Created At"}},"type":"object","required":["id","video_id","lang","source","duration_seconds","total_seconds","complete","created_at"],"title":"TranscriptionEntry"},"TranscriptionListResponse":{"properties":{"transcriptions":{"items":{"$ref":"#/components/schemas/TranscriptionEntry"},"type":"array","title":"Transcriptions"},"total":{"type":"integer","title":"Total"},"limit":{"type":"integer","title":"Limit"},"offset":{"type":"integer","title":"Offset"}},"type":"object","required":["transcriptions","total","limit","offset"],"title":"TranscriptionListResponse"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"},"input":{"title":"Input"},"ctx":{"type":"object","title":"Context"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"}}}}