{"openapi":"3.1.0","info":{"title":"Podnivo API","description":"Multitenant podcast catalog and listener backend API.","version":"v1"},"servers":[{"url":"https://podnivo.com","description":"Generated server url"}],"security":[{"bearerAuth":[]}],"paths":{"/v1/users/{userId}/subscriptions/{podcastId}":{"put":{"tags":["listener-controller"],"operationId":"subscribe","parameters":[{"name":"userId","in":"path","required":true,"schema":{"type":"string","maxLength":255,"minLength":0}},{"name":"podcastId","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PodcastResponse"}}}}}},"delete":{"tags":["listener-controller"],"operationId":"unsubscribe","parameters":[{"name":"userId","in":"path","required":true,"schema":{"type":"string","maxLength":255,"minLength":0}},{"name":"podcastId","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"No Content"}}}},"/v1/users/{userId}/progress/{episodeId}":{"put":{"tags":["listener-controller"],"operationId":"updateProgress","parameters":[{"name":"userId","in":"path","required":true,"schema":{"type":"string","maxLength":255,"minLength":0}},{"name":"episodeId","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateProgressRequest"}}},"required":true},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListeningProgressResponse"}}}}}}},"/v1/webhooks":{"get":{"tags":["webhook-controller"],"operationId":"list","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/WebhookResponse"}}}}}}},"post":{"tags":["webhook-controller"],"operationId":"create","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateWebhookRequest"}}},"required":true},"responses":{"201":{"description":"Created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WebhookResponse"}}}}}}},"/v1/users/{userId}/opml/import":{"post":{"tags":["listener-controller"],"operationId":"importOpml","parameters":[{"name":"userId","in":"path","required":true,"schema":{"type":"string","maxLength":255,"minLength":0}}],"requestBody":{"content":{"application/xml":{"schema":{"type":"string"}},"text/xml":{"schema":{"type":"string"}},"text/plain":{"schema":{"type":"string"}}},"required":true},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OpmlImportResponse"}}}}}}},"/v1/user-tokens":{"post":{"tags":["user-token-controller"],"operationId":"create_1","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserTokenRequest"}}},"required":true},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IssuedUserToken"}}}}}}},"/v1/podcasts/submit":{"post":{"tags":["catalog-controller"],"operationId":"submit","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SubmitPodcastRequest"}}},"required":true},"responses":{"202":{"description":"Accepted","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SubmissionResponse"}}}}}}},"/v1/podcasts/resolve":{"post":{"tags":["catalog-controller"],"operationId":"resolve","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResolvePodcastRequest"}}},"required":true},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PodcastResponse"}}}}}}},"/v1/podcasts/batch":{"post":{"tags":["catalog-controller"],"operationId":"batch","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BatchPodcastRequest"}}},"required":true},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BatchPodcastResponse"}}}}}}},"/v1/alerts":{"get":{"tags":["alert-controller"],"operationId":"list_1","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/AlertResponse"}}}}}}},"post":{"tags":["alert-controller"],"operationId":"create_2","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateAlertRequest"}}},"required":true},"responses":{"201":{"description":"Created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AlertResponse"}}}}}}},"/internal/v1/tenants":{"post":{"tags":["tenant-admin-controller"],"operationId":"create_3","parameters":[{"name":"X-Podcastbase-Admin-Token","in":"header","required":false,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateTenantRequest"}}},"required":true},"responses":{"201":{"description":"Created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateTenantResponse"}}}}}}},"/console/v1/billing/portal":{"post":{"tags":["billing-controller"],"operationId":"portal","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PortalResponse"}}}}}}},"/console/v1/billing/checkout":{"post":{"tags":["billing-controller"],"operationId":"checkout","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CheckoutRequest"}}},"required":true},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CheckoutResponse"}}}}}}},"/console/v1/auth/verify-email":{"post":{"tags":["console-auth-controller"],"operationId":"verifyEmail","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/VerifyEmailRequest"}}},"required":true},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConsoleSessionResponse"}}}}}}},"/console/v1/auth/resend-verification":{"post":{"tags":["console-auth-controller"],"operationId":"resendVerification","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResendVerificationRequest"}}},"required":true},"responses":{"202":{"description":"Accepted","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessageResponse"}}}}}}},"/console/v1/auth/register":{"post":{"tags":["console-auth-controller"],"operationId":"register","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RegisterRequest"}}},"required":true},"responses":{"202":{"description":"Accepted","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VerificationPendingResponse"}}}}}}},"/console/v1/auth/logout":{"post":{"tags":["console-auth-controller"],"operationId":"logout","responses":{"204":{"description":"No Content"}}}},"/console/v1/auth/login":{"post":{"tags":["console-auth-controller"],"operationId":"login","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LoginRequest"}}},"required":true},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConsoleSessionResponse"}}}}}}},"/console/v1/api-keys":{"get":{"tags":["console-dashboard-controller"],"operationId":"apiKeys","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ApiKeyView"}}}}}}},"post":{"tags":["console-dashboard-controller"],"operationId":"createKey","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateApiKeyRequest"}}},"required":true},"responses":{"201":{"description":"Created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreatedKey"}}}}}}},"/billing/v1/paddle/webhook":{"post":{"tags":["billing-controller"],"operationId":"webhook","parameters":[{"name":"Paddle-Signature","in":"header","required":false,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"string","format":"byte"}}},"required":true},"responses":{"204":{"description":"No Content"}}}},"/v1/users/{userId}/subscriptions":{"get":{"tags":["listener-controller"],"operationId":"subscriptions","parameters":[{"name":"userId","in":"path","required":true,"schema":{"type":"string","maxLength":255,"minLength":0}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/PodcastResponse"}}}}}}}},"/v1/users/{userId}/recommendations":{"get":{"tags":["listener-controller"],"operationId":"recommendations","parameters":[{"name":"userId","in":"path","required":true,"schema":{"type":"string","maxLength":255,"minLength":0}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":20,"maximum":50,"minimum":1}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/PodcastResponse"}}}}}}}},"/v1/users/{userId}/opml/export":{"get":{"tags":["listener-controller"],"operationId":"exportOpml","parameters":[{"name":"userId","in":"path","required":true,"schema":{"type":"string","maxLength":255,"minLength":0}}],"responses":{"200":{"description":"OK","content":{"application/xml":{"schema":{"type":"string"}}}}}}},"/v1/users/{userId}/home":{"get":{"tags":["listener-controller"],"operationId":"home","parameters":[{"name":"userId","in":"path","required":true,"schema":{"type":"string","maxLength":255,"minLength":0}},{"name":"locale","in":"query","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HomeResponse"}}}}}}},"/v1/users/{userId}/history":{"get":{"tags":["listener-controller"],"operationId":"history","parameters":[{"name":"userId","in":"path","required":true,"schema":{"type":"string","maxLength":255,"minLength":0}},{"name":"cursor","in":"query","required":false,"schema":{"type":"string"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":20,"maximum":100,"minimum":1}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CursorPageListeningProgressResponse"}}}}}}},"/v1/users/{userId}/feed":{"get":{"tags":["listener-controller"],"operationId":"feed","parameters":[{"name":"userId","in":"path","required":true,"schema":{"type":"string","maxLength":255,"minLength":0}},{"name":"cursor","in":"query","required":false,"schema":{"type":"string"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":20,"maximum":50,"minimum":1}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CursorPageEpisodeResponse"}}}}}}},"/v1/users/{userId}/export":{"get":{"tags":["listener-controller"],"operationId":"exportData","parameters":[{"name":"userId","in":"path","required":true,"schema":{"type":"string","maxLength":255,"minLength":0}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserDataExport"}}}}}}},"/v1/usage":{"get":{"tags":["usage-controller"],"operationId":"get","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UsageSummary"}}}}}}},"/v1/transcripts/search":{"get":{"tags":["transcript-controller"],"operationId":"search","parameters":[{"name":"q","in":"query","required":true,"schema":{"type":"string","maxLength":200,"minLength":0}},{"name":"language","in":"query","required":false,"schema":{"type":"string","pattern":"[A-Za-z]{2,3}([_-][A-Za-z]{2})?"}},{"name":"cursor","in":"query","required":false,"schema":{"type":"string"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":20,"maximum":50,"minimum":1}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CursorPageTranscriptSearchResult"}}}}}}},"/v1/search":{"get":{"tags":["search-controller"],"operationId":"search_1","parameters":[{"name":"q","in":"query","required":true,"schema":{"type":"string","maxLength":200,"minLength":0}},{"name":"type","in":"query","required":false,"schema":{"type":"string","pattern":"all|podcast|episode"}},{"name":"sort","in":"query","required":false,"schema":{"type":"string","pattern":"relevance|newest"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","format":"int32","maximum":100,"minimum":1}},{"name":"after","in":"query","required":false,"schema":{"type":"string","maxLength":4096,"minLength":0}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SearchResponseDto"}}}}}}},"/v1/search/suggestions":{"get":{"tags":["search-controller"],"operationId":"suggestions","parameters":[{"name":"q","in":"query","required":true,"schema":{"type":"string","maxLength":200,"minLength":0}},{"name":"type","in":"query","required":false,"schema":{"type":"string","default":"all","pattern":"all|podcast|episode"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":10,"maximum":20,"minimum":1}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuggestionsResponseDto"}}}}}}},"/v1/podcasts/{id}":{"get":{"tags":["catalog-controller"],"operationId":"podcast","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PodcastResponse"}}}}}}},"/v1/podcasts/{id}/health":{"get":{"tags":["catalog-controller"],"operationId":"health","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PodcastHealthResponse"}}}}}}},"/v1/podcasts/{id}/episodes":{"get":{"tags":["catalog-controller"],"operationId":"podcastEpisodes","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}},{"name":"cursor","in":"query","required":false,"schema":{"type":"string"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":20,"maximum":50,"minimum":1}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CursorPageEpisodeResponse"}}}}}}},"/v1/episodes/{id}":{"get":{"tags":["catalog-controller"],"operationId":"episode","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EpisodeResponse"}}}}}}},"/v1/episodes/{episodeId}/transcript":{"get":{"tags":["transcript-controller"],"operationId":"transcript","parameters":[{"name":"episodeId","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TranscriptResponse"}}}}}}},"/v1/discover":{"get":{"tags":["catalog-controller"],"operationId":"discover","parameters":[{"name":"language","in":"query","required":false,"schema":{"type":"string"}},{"name":"category","in":"query","required":false,"schema":{"type":"string"}},{"name":"country","in":"query","required":false,"schema":{"type":"string"}},{"name":"sort","in":"query","required":false,"schema":{"type":"string","default":"popular"}},{"name":"cursor","in":"query","required":false,"schema":{"type":"string"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":20,"maximum":50,"minimum":1}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CursorPagePodcastResponse"}}}}}}},"/v1/changes":{"get":{"tags":["change-controller"],"operationId":"changes","parameters":[{"name":"event","in":"query","required":false,"schema":{"type":"string","pattern":"(podcast|episode)\\.(created|updated|deleted)"}},{"name":"cursor","in":"query","required":false,"schema":{"type":"string"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":100,"maximum":500,"minimum":1}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CursorPageCatalogChangeResponse"}}}}}}},"/v1/categories":{"get":{"tags":["catalog-controller"],"operationId":"categories","parameters":[{"name":"language","in":"query","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/CategoryResponse"}}}}}}}},"/v1/alerts/{id}/matches":{"get":{"tags":["alert-controller"],"operationId":"matches","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":50,"maximum":200,"minimum":1}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/AlertMatchResponse"}}}}}}}},"/console/v1/overview":{"get":{"tags":["console-dashboard-controller"],"operationId":"overview","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Overview"}}}}}}},"/console/v1/billing/offer":{"get":{"tags":["billing-controller"],"operationId":"offer","parameters":[{"name":"planCode","in":"query","required":true,"schema":{"type":"string"}},{"name":"campaignId","in":"query","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Offer"}}}}}}},"/console/v1/billing/config":{"get":{"tags":["billing-controller"],"operationId":"configuration","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CheckoutConfiguration"}}}}}}},"/console/v1/auth/session":{"get":{"tags":["console-auth-controller"],"operationId":"session","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConsoleSessionResponse"}}}}}}},"/v1/webhooks/{id}":{"delete":{"tags":["webhook-controller"],"operationId":"delete","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"204":{"description":"No Content"}}}},"/v1/users/{userId}":{"delete":{"tags":["listener-controller"],"operationId":"deleteUser","parameters":[{"name":"userId","in":"path","required":true,"schema":{"type":"string","maxLength":255,"minLength":0}}],"responses":{"204":{"description":"No Content"}}}},"/v1/alerts/{id}":{"delete":{"tags":["alert-controller"],"operationId":"delete_1","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"204":{"description":"No Content"}}}},"/console/v1/api-keys/{apiKeyId}":{"delete":{"tags":["console-dashboard-controller"],"operationId":"revokeKey","parameters":[{"name":"apiKeyId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"204":{"description":"No Content"}}}}},"components":{"schemas":{"PodcastResponse":{"type":"object","properties":{"id":{"type":"string"},"guid":{"type":"string"},"itunesId":{"type":"string"},"title":{"type":"string"},"description":{"type":"string"},"rss":{"type":"string"},"website":{"type":"string"},"author":{"type":"string"},"owner":{"type":"string"},"image":{"type":"string"},"language":{"type":"string"},"categories":{"type":"array","items":{"type":"string"}},"episodeCount":{"type":"integer","format":"int32"},"popularityScore":{"type":"integer","format":"int32"},"explicit":{"type":"boolean"},"country":{"type":"string"},"lastUpdatedAt":{"type":"string","format":"date-time"},"newestEpisodePublishedAt":{"type":"string","format":"date-time"}}},"UpdateProgressRequest":{"type":"object","properties":{"positionSeconds":{"type":"integer","format":"int32"},"completed":{"type":"boolean"},"version":{"type":"integer","format":"int64"}},"required":["positionSeconds"]},"EpisodeResponse":{"type":"object","properties":{"id":{"type":"string"},"podcastId":{"type":"string"},"guid":{"type":"string"},"title":{"type":"string"},"description":{"type":"string"},"audioUrl":{"type":"string"},"durationSeconds":{"type":"integer","format":"int32"},"publishedAt":{"type":"string","format":"date-time"},"image":{"type":"string"},"episodeNumber":{"type":"integer","format":"int32"},"seasonNumber":{"type":"integer","format":"int32"},"podcast":{"$ref":"#/components/schemas/PodcastResponse"}}},"ListeningProgressResponse":{"type":"object","properties":{"episode":{"$ref":"#/components/schemas/EpisodeResponse"},"positionSeconds":{"type":"integer","format":"int32"},"completed":{"type":"boolean"},"lastPlayedAt":{"type":"string","format":"date-time"},"version":{"type":"integer","format":"int64"}}},"CreateWebhookRequest":{"type":"object","properties":{"url":{"type":"string","maxLength":2048,"minLength":0},"events":{"type":"array","items":{"type":"string"},"maxItems":10,"minItems":0,"uniqueItems":true}},"required":["url"]},"WebhookResponse":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"url":{"type":"string"},"events":{"type":"array","items":{"type":"string"},"uniqueItems":true},"active":{"type":"boolean"},"createdAt":{"type":"string","format":"date-time"},"signingSecret":{"type":"string"}}},"OpmlImportResponse":{"type":"object","properties":{"imported":{"type":"integer","format":"int32"},"alreadySubscribed":{"type":"integer","format":"int32"},"submittedForDiscovery":{"type":"integer","format":"int32"},"invalid":{"type":"integer","format":"int32"}}},"UserTokenRequest":{"type":"object","properties":{"externalUserId":{"type":"string","maxLength":255,"minLength":0}},"required":["externalUserId"]},"IssuedUserToken":{"type":"object","properties":{"accessToken":{"type":"string"},"tokenType":{"type":"string"},"expiresAt":{"type":"string","format":"date-time"},"externalUserId":{"type":"string"}}},"SubmitPodcastRequest":{"type":"object","properties":{"rssUrl":{"type":"string","maxLength":2048,"minLength":0}},"required":["rssUrl"]},"SubmissionResponse":{"type":"object","properties":{"submissionId":{"type":"string","format":"uuid"},"status":{"type":"string"},"podcast":{"$ref":"#/components/schemas/PodcastResponse"}}},"ResolvePodcastRequest":{"type":"object","properties":{"rssUrl":{"type":"string","maxLength":2048,"minLength":0},"itunesId":{"type":"string"}}},"BatchPodcastRequest":{"type":"object","properties":{"ids":{"type":"array","items":{"type":"string"},"maxItems":50,"minItems":0}},"required":["ids"]},"BatchPodcastResponse":{"type":"object","properties":{"podcasts":{"type":"array","items":{"$ref":"#/components/schemas/PodcastResponse"}},"notFound":{"type":"array","items":{"type":"string"}}}},"CreateAlertRequest":{"type":"object","properties":{"keyword":{"type":"string","maxLength":200,"minLength":0},"language":{"type":"string","pattern":"[A-Za-z]{2,3}"}},"required":["keyword"]},"AlertResponse":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"keyword":{"type":"string"},"language":{"type":"string"},"active":{"type":"boolean"},"createdAt":{"type":"string","format":"date-time"}}},"CreateTenantRequest":{"type":"object","properties":{"slug":{"type":"string","minLength":1,"pattern":"[a-z0-9][a-z0-9-]{1,78}[a-z0-9]"},"name":{"type":"string","maxLength":160,"minLength":0},"planCode":{"type":"string","maxLength":40,"minLength":0},"monthlyRequestLimit":{"type":"integer","format":"int64"},"requestsPerMinute":{"type":"integer","format":"int32"},"scopes":{"type":"array","items":{"type":"string"},"uniqueItems":true}},"required":["name","slug"]},"CreateTenantResponse":{"type":"object","properties":{"tenantId":{"type":"string","format":"uuid"},"slug":{"type":"string"},"planCode":{"type":"string"},"apiKeyId":{"type":"string","format":"uuid"},"apiKey":{"type":"string"},"keyPrefix":{"type":"string"},"scopes":{"type":"array","items":{"type":"string"},"uniqueItems":true}}},"PortalResponse":{"type":"object","properties":{"portalUrl":{"type":"string"}}},"CheckoutRequest":{"type":"object","properties":{"planCode":{"type":"string","pattern":"INDIE|PRO|BUSINESS"},"countryCode":{"type":"string","pattern":"[A-Z]{2}"},"postalCode":{"type":"string","maxLength":32,"minLength":0},"campaignId":{"type":"string","maxLength":80,"minLength":0}}},"CheckoutResponse":{"type":"object","properties":{"checkoutUrl":{"type":"string"}}},"VerifyEmailRequest":{"type":"object","properties":{"token":{"type":"string","maxLength":200,"minLength":0}},"required":["token"]},"Account":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"displayName":{"type":"string"},"email":{"type":"string"},"role":{"type":"string"}}},"ConsoleSessionResponse":{"type":"object","properties":{"account":{"$ref":"#/components/schemas/Account"},"workspace":{"$ref":"#/components/schemas/Workspace"},"sessionExpiresAt":{"type":"string","format":"date-time"},"initialCredential":{"$ref":"#/components/schemas/InitialCredential"}}},"InitialCredential":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"name":{"type":"string"},"token":{"type":"string"},"prefix":{"type":"string"},"scopes":{"type":"array","items":{"type":"string"},"uniqueItems":true}}},"Workspace":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"name":{"type":"string"},"slug":{"type":"string"},"planCode":{"type":"string"}}},"ResendVerificationRequest":{"type":"object","properties":{"email":{"type":"string","format":"email","maxLength":320,"minLength":0}},"required":["email"]},"MessageResponse":{"type":"object","properties":{"message":{"type":"string"}}},"RegisterRequest":{"type":"object","properties":{"displayName":{"type":"string","maxLength":120,"minLength":0},"email":{"type":"string","format":"email","maxLength":320,"minLength":0},"password":{"type":"string","maxLength":128,"minLength":12},"workspaceName":{"type":"string","maxLength":160,"minLength":0},"workspaceSlug":{"type":"string","maxLength":80,"minLength":0,"pattern":"[a-z0-9]+(?:-[a-z0-9]+)*"},"projectName":{"type":"string","maxLength":160,"minLength":0},"useCase":{"type":"string","maxLength":40,"minLength":0},"appStage":{"type":"string","maxLength":30,"minLength":0},"expectedMonthlyRequests":{"type":"integer","format":"int64"},"requestedPlanCode":{"type":"string","maxLength":40,"minLength":0},"website":{"type":"string","maxLength":2048,"minLength":0},"primaryMarket":{"type":"string","maxLength":80,"minLength":0},"termsAccepted":{"type":"boolean"},"productUpdates":{"type":"boolean"}},"required":["appStage","displayName","email","expectedMonthlyRequests","password","projectName","requestedPlanCode","useCase","workspaceName","workspaceSlug"]},"VerificationPendingResponse":{"type":"object","properties":{"email":{"type":"string"},"expiresAt":{"type":"string","format":"date-time"}}},"LoginRequest":{"type":"object","properties":{"email":{"type":"string","format":"email","maxLength":320,"minLength":0},"password":{"type":"string","maxLength":128,"minLength":0}},"required":["email","password"]},"CreateApiKeyRequest":{"type":"object","properties":{"name":{"type":"string","maxLength":120,"minLength":0},"scopes":{"type":"array","items":{"type":"string","minLength":1},"minItems":1,"uniqueItems":true}},"required":["name","scopes"]},"CreatedKey":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"name":{"type":"string"},"token":{"type":"string"},"prefix":{"type":"string"},"scopes":{"type":"array","items":{"type":"string"},"uniqueItems":true}}},"HomeResponse":{"type":"object","properties":{"continueListening":{"type":"array","items":{"$ref":"#/components/schemas/ListeningProgressResponse"}},"newFromSubscriptions":{"type":"array","items":{"$ref":"#/components/schemas/EpisodeResponse"}},"recommendedPodcasts":{"type":"array","items":{"$ref":"#/components/schemas/PodcastResponse"}},"trendingEpisodes":{"type":"array","items":{"$ref":"#/components/schemas/EpisodeResponse"}},"recentlyPlayed":{"type":"array","items":{"$ref":"#/components/schemas/ListeningProgressResponse"}}}},"CursorPageListeningProgressResponse":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/ListeningProgressResponse"}},"nextCursor":{"type":"string"}}},"CursorPageEpisodeResponse":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/EpisodeResponse"}},"nextCursor":{"type":"string"}}},"UserDataExport":{"type":"object","properties":{"externalUserId":{"type":"string"},"locale":{"type":"string"},"createdAt":{"type":"string","format":"date-time"},"subscriptions":{"type":"array","items":{"$ref":"#/components/schemas/PodcastResponse"}},"listeningHistory":{"type":"array","items":{"$ref":"#/components/schemas/ListeningProgressResponse"}}}},"UsageSummary":{"type":"object","properties":{"periodStart":{"type":"string","format":"date"},"periodEnd":{"type":"string","format":"date"},"used":{"type":"integer","format":"int64"},"limit":{"type":"integer","format":"int64"},"remaining":{"type":"integer","format":"int64"}}},"CursorPageTranscriptSearchResult":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/TranscriptSearchResult"}},"nextCursor":{"type":"string"}}},"TranscriptSearchResult":{"type":"object","properties":{"episodeId":{"type":"string"},"podcastId":{"type":"string"},"episodeTitle":{"type":"string"},"language":{"type":"string"},"source":{"type":"string"},"snippet":{"type":"string"},"score":{"type":"number","format":"double"}}},"Page":{"type":"object","properties":{"limit":{"type":"integer","format":"int32"},"hasMore":{"type":"boolean"},"next":{"type":"string"}}},"SearchResponseDto":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/SearchResponseResultDto"}},"page":{"$ref":"#/components/schemas/Page"}}},"SearchResponseResultDto":{"type":"object","properties":{"type":{"type":"string"},"id":{"type":"string"},"score":{"type":"number","format":"double"},"title":{"type":"string"},"author":{"type":"string"},"imageUrl":{"type":"string"},"language":{"type":"string"},"publishedAt":{"type":"string","format":"date-time"},"podcastId":{"type":"string"},"durationSeconds":{"type":"integer","format":"int32"}}},"SuggestionResponse":{"type":"object","properties":{"type":{"type":"string"},"id":{"type":"string"},"value":{"type":"string"}}},"SuggestionsResponseDto":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/SuggestionResponse"}}}},"PodcastHealthResponse":{"type":"object","properties":{"podcastId":{"type":"string"},"lastCheckedAt":{"type":"string","format":"date-time"},"nextCheckAt":{"type":"string","format":"date-time"},"consecutiveFailures":{"type":"integer","format":"int32"},"updateRequested":{"type":"boolean"},"freshness":{"type":"string"}}},"TranscriptResponse":{"type":"object","properties":{"episodeId":{"type":"string"},"language":{"type":"string"},"source":{"type":"string"},"content":{"type":"string"},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"}}},"CursorPagePodcastResponse":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/PodcastResponse"}},"nextCursor":{"type":"string"}}},"CatalogChangeResponse":{"type":"object","properties":{"cursor":{"type":"string"},"resourceType":{"type":"string"},"resourceId":{"type":"string"},"changeType":{"type":"string"},"changedAt":{"type":"string","format":"date-time"},"data":{"$ref":"#/components/schemas/JsonNode"}}},"CursorPageCatalogChangeResponse":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/CatalogChangeResponse"}},"nextCursor":{"type":"string"}}},"JsonNode":{"type":"object","properties":{"empty":{"type":"boolean"},"array":{"type":"boolean"},"null":{"type":"boolean"},"object":{"type":"boolean"},"float":{"type":"boolean"},"container":{"type":"boolean"},"nodeType":{"type":"string","enum":["ARRAY","BINARY","BOOLEAN","MISSING","NULL","NUMBER","OBJECT","POJO","STRING"]},"string":{"type":"boolean"},"integralNumber":{"type":"boolean"},"missingNode":{"type":"boolean"},"valueNode":{"type":"boolean"},"pojo":{"type":"boolean"},"floatingPointNumber":{"type":"boolean"},"short":{"type":"boolean"},"int":{"type":"boolean"},"long":{"type":"boolean"},"double":{"type":"boolean"},"bigDecimal":{"type":"boolean"},"bigInteger":{"type":"boolean"},"textual":{"type":"boolean","deprecated":true},"boolean":{"type":"boolean"},"binary":{"type":"boolean"},"number":{"type":"boolean"},"embeddedValue":{"type":"boolean"}}},"CategoryResponse":{"type":"object","properties":{"name":{"type":"string"},"podcastCount":{"type":"integer","format":"int64"}}},"AlertMatchResponse":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"episodeId":{"type":"string"},"excerpt":{"type":"string"},"matchedAt":{"type":"string","format":"date-time"}}},"ApiKeyView":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"name":{"type":"string"},"prefix":{"type":"string"},"scopes":{"type":"array","items":{"type":"string"},"uniqueItems":true},"createdAt":{"type":"string","format":"date-time"},"lastUsedAt":{"type":"string","format":"date-time"},"revokedAt":{"type":"string","format":"date-time"}}},"BillingSummary":{"type":"object","properties":{"planCode":{"type":"string"},"status":{"type":"string"},"nextBilledAt":{"type":"string","format":"date-time"},"portalAvailable":{"type":"boolean"}}},"DailyUsage":{"type":"object","properties":{"date":{"type":"string","format":"date"},"requests":{"type":"integer","format":"int64"}}},"Overview":{"type":"object","properties":{"workspace":{"$ref":"#/components/schemas/Workspace"},"project":{"$ref":"#/components/schemas/Project"},"usage":{"$ref":"#/components/schemas/UsageSummary"},"dailyUsage":{"type":"array","items":{"$ref":"#/components/schemas/DailyUsage"}},"apiKeys":{"type":"array","items":{"$ref":"#/components/schemas/ApiKeyView"}},"recentRequests":{"type":"array","items":{"$ref":"#/components/schemas/RequestLog"}},"billing":{"$ref":"#/components/schemas/BillingSummary"}}},"Project":{"type":"object","properties":{"name":{"type":"string"},"useCase":{"type":"string"},"appStage":{"type":"string"},"expectedMonthlyRequests":{"type":"integer","format":"int64"},"requestedPlanCode":{"type":"string"},"website":{"type":"string"},"primaryMarket":{"type":"string"}}},"RequestLog":{"type":"object","properties":{"requestedAt":{"type":"string","format":"date-time"},"method":{"type":"string"},"endpointGroup":{"type":"string"},"statusCode":{"type":"integer","format":"int32"},"durationMs":{"type":"integer","format":"int32"}}},"Offer":{"type":"object","properties":{"priceId":{"type":"string"},"discountId":{"type":"string"},"campaignId":{"type":"string"},"price":{"$ref":"#/components/schemas/JsonNode"},"limits":{"$ref":"#/components/schemas/JsonNode"}}},"CheckoutConfiguration":{"type":"object","properties":{"clientSideToken":{"type":"string"},"environment":{"type":"string"}}}},"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"Podnivo API key or user token"}}}}