Appearance
API reference
Browse all endpoints grouped by tag. For auth, tenancy, and error handling see the integration guide.
OpenAPI definition vv0
article-controller
GET/api/v1/articles
ReturnsResponseListArticleView
Response examples
200OK
{
"statusCode": 0,
"statusMessage": "string",
"data": [
{
"id": 0,
"slug": "string",
"title": "string",
"body": "string"
}
],
"errors": [
{
"code": "string",
"message": "string",
"field": "string"
}
]
}POST/api/v1/articles
ReturnsResponseArticleView
AcceptsCreateArticleRequest
Response examples
200OK
{
"statusCode": 0,
"statusMessage": "string",
"data": {
"id": 0,
"slug": "string",
"title": "string",
"body": "string"
},
"errors": [
{
"code": "string",
"message": "string",
"field": "string"
}
]
}GET/api/v1/articles/{articleId}
Parameters 1
| Name | Type | Description |
|---|---|---|
articleIdrequired | path · integer |
ReturnsResponseArticleView
Response examples
200OK
{
"statusCode": 0,
"statusMessage": "string",
"data": {
"id": 0,
"slug": "string",
"title": "string",
"body": "string"
},
"errors": [
{
"code": "string",
"message": "string",
"field": "string"
}
]
}PUT/api/v1/articles/{articleId}
Parameters 1
| Name | Type | Description |
|---|---|---|
articleIdrequired | path · integer |
ReturnsResponseArticleView
AcceptsUpdateArticleRequest
Response examples
200OK
{
"statusCode": 0,
"statusMessage": "string",
"data": {
"id": 0,
"slug": "string",
"title": "string",
"body": "string"
},
"errors": [
{
"code": "string",
"message": "string",
"field": "string"
}
]
}POST/api/v1/articles/{articleId}/archive
Parameters 1
| Name | Type | Description |
|---|---|---|
articleIdrequired | path · integer |
ReturnsResponseArticleView
Response examples
200OK
{
"statusCode": 0,
"statusMessage": "string",
"data": {
"id": 0,
"slug": "string",
"title": "string",
"body": "string"
},
"errors": [
{
"code": "string",
"message": "string",
"field": "string"
}
]
}POST/api/v1/articles/{articleId}/cancel-schedule
Parameters 1
| Name | Type | Description |
|---|---|---|
articleIdrequired | path · integer |
ReturnsResponseArticleView
Response examples
200OK
{
"statusCode": 0,
"statusMessage": "string",
"data": {
"id": 0,
"slug": "string",
"title": "string",
"body": "string"
},
"errors": [
{
"code": "string",
"message": "string",
"field": "string"
}
]
}PUT/api/v1/articles/{articleId}/categories
Parameters 1
| Name | Type | Description |
|---|---|---|
articleIdrequired | path · integer |
ReturnsResponseArticleView
AcceptsReplaceCategoriesRequest
Response examples
200OK
{
"statusCode": 0,
"statusMessage": "string",
"data": {
"id": 0,
"slug": "string",
"title": "string",
"body": "string"
},
"errors": [
{
"code": "string",
"message": "string",
"field": "string"
}
]
}POST/api/v1/articles/{articleId}/publish
Parameters 1
| Name | Type | Description |
|---|---|---|
articleIdrequired | path · integer |
ReturnsResponseArticleView
AcceptsPublishOptionsRequest
Response examples
200OK
{
"statusCode": 0,
"statusMessage": "string",
"data": {
"id": 0,
"slug": "string",
"title": "string",
"body": "string"
},
"errors": [
{
"code": "string",
"message": "string",
"field": "string"
}
]
}POST/api/v1/articles/{articleId}/schedule
Parameters 1
| Name | Type | Description |
|---|---|---|
articleIdrequired | path · integer |
ReturnsResponseArticleView
AcceptsScheduleArticleRequest
Response examples
200OK
{
"statusCode": 0,
"statusMessage": "string",
"data": {
"id": 0,
"slug": "string",
"title": "string",
"body": "string"
},
"errors": [
{
"code": "string",
"message": "string",
"field": "string"
}
]
}POST/api/v1/articles/{articleId}/unarchive
Parameters 1
| Name | Type | Description |
|---|---|---|
articleIdrequired | path · integer |
ReturnsResponseArticleView
Response examples
200OK
{
"statusCode": 0,
"statusMessage": "string",
"data": {
"id": 0,
"slug": "string",
"title": "string",
"body": "string"
},
"errors": [
{
"code": "string",
"message": "string",
"field": "string"
}
]
}POST/api/v1/articles/{articleId}/unpublish
Parameters 1
| Name | Type | Description |
|---|---|---|
articleIdrequired | path · integer |
ReturnsResponseArticleView
Response examples
200OK
{
"statusCode": 0,
"statusMessage": "string",
"data": {
"id": 0,
"slug": "string",
"title": "string",
"body": "string"
},
"errors": [
{
"code": "string",
"message": "string",
"field": "string"
}
]
}auth-controller
POST/api/v1/auth/accept-invite
ReturnsResponseAcceptInviteResponse
AcceptsAcceptInviteRequest
Response examples
200OK
{
"statusCode": 0,
"statusMessage": "string",
"data": {
"userId": 0,
"email": "string"
},
"errors": [
{
"code": "string",
"message": "string",
"field": "string"
}
]
}POST/api/v1/auth/forgot-password
ReturnsResponseForgotPasswordResponse
AcceptsForgotPasswordRequest
Response examples
200OK
{
"statusCode": 0,
"statusMessage": "string",
"data": {
"devResetToken": "string"
},
"errors": [
{
"code": "string",
"message": "string",
"field": "string"
}
]
}POST/api/v1/auth/register
ReturnsResponseRegisterResponse
AcceptsRegisterRequest
Response examples
200OK
{
"statusCode": 0,
"statusMessage": "string",
"data": {
"userId": 0,
"email": "string"
},
"errors": [
{
"code": "string",
"message": "string",
"field": "string"
}
]
}POST/api/v1/auth/reset-password
ReturnsResponseVoid
AcceptsResetPasswordRequest
Response examples
200OK
{
"statusCode": 0,
"statusMessage": "string",
"errors": [
{
"code": "string",
"message": "string",
"field": "string"
}
]
}POST/api/v1/auth/verify-email
ReturnsResponseVerifyEmailResponse
AcceptsVerifyEmailRequest
Response examples
200OK
{
"statusCode": 0,
"statusMessage": "string",
"data": {
"userId": 0,
"email": "string"
},
"errors": [
{
"code": "string",
"message": "string",
"field": "string"
}
]
}episode-controller
GET/api/v1/episodes
ReturnsResponseListEpisodeView
Response examples
200OK
{
"statusCode": 0,
"statusMessage": "string",
"data": [
{
"id": 0,
"seriesId": 0,
"seriesSlug": "string",
"episodeNumber": 0
}
],
"errors": [
{
"code": "string",
"message": "string",
"field": "string"
}
]
}POST/api/v1/episodes
ReturnsResponseEpisodeView
AcceptsCreateEpisodeRequest
Response examples
200OK
{
"statusCode": 0,
"statusMessage": "string",
"data": {
"id": 0,
"seriesId": 0,
"seriesSlug": "string",
"episodeNumber": 0
},
"errors": [
{
"code": "string",
"message": "string",
"field": "string"
}
]
}GET/api/v1/episodes/{episodeId}
Parameters 1
| Name | Type | Description |
|---|---|---|
episodeIdrequired | path · integer |
ReturnsResponseEpisodeView
Response examples
200OK
{
"statusCode": 0,
"statusMessage": "string",
"data": {
"id": 0,
"seriesId": 0,
"seriesSlug": "string",
"episodeNumber": 0
},
"errors": [
{
"code": "string",
"message": "string",
"field": "string"
}
]
}PUT/api/v1/episodes/{episodeId}
Parameters 1
| Name | Type | Description |
|---|---|---|
episodeIdrequired | path · integer |
ReturnsResponseEpisodeView
AcceptsUpdateEpisodeRequest
Response examples
200OK
{
"statusCode": 0,
"statusMessage": "string",
"data": {
"id": 0,
"seriesId": 0,
"seriesSlug": "string",
"episodeNumber": 0
},
"errors": [
{
"code": "string",
"message": "string",
"field": "string"
}
]
}POST/api/v1/episodes/{episodeId}/archive
Parameters 1
| Name | Type | Description |
|---|---|---|
episodeIdrequired | path · integer |
ReturnsResponseEpisodeView
Response examples
200OK
{
"statusCode": 0,
"statusMessage": "string",
"data": {
"id": 0,
"seriesId": 0,
"seriesSlug": "string",
"episodeNumber": 0
},
"errors": [
{
"code": "string",
"message": "string",
"field": "string"
}
]
}POST/api/v1/episodes/{episodeId}/audio
Parameters 1
| Name | Type | Description |
|---|---|---|
episodeIdrequired | path · integer |
ReturnsResponseEpisodeView
AcceptsAttachAudioRequest
Response examples
200OK
{
"statusCode": 0,
"statusMessage": "string",
"data": {
"id": 0,
"seriesId": 0,
"seriesSlug": "string",
"episodeNumber": 0
},
"errors": [
{
"code": "string",
"message": "string",
"field": "string"
}
]
}POST/api/v1/episodes/{episodeId}/cancel-schedule
Parameters 1
| Name | Type | Description |
|---|---|---|
episodeIdrequired | path · integer |
ReturnsResponseEpisodeView
Response examples
200OK
{
"statusCode": 0,
"statusMessage": "string",
"data": {
"id": 0,
"seriesId": 0,
"seriesSlug": "string",
"episodeNumber": 0
},
"errors": [
{
"code": "string",
"message": "string",
"field": "string"
}
]
}PUT/api/v1/episodes/{episodeId}/categories
Parameters 1
| Name | Type | Description |
|---|---|---|
episodeIdrequired | path · integer |
ReturnsResponseEpisodeView
AcceptsReplaceCategoriesRequest
Response examples
200OK
{
"statusCode": 0,
"statusMessage": "string",
"data": {
"id": 0,
"seriesId": 0,
"seriesSlug": "string",
"episodeNumber": 0
},
"errors": [
{
"code": "string",
"message": "string",
"field": "string"
}
]
}PUT/api/v1/episodes/{episodeId}/enclosure-enabled
Parameters 1
| Name | Type | Description |
|---|---|---|
episodeIdrequired | path · integer |
ReturnsResponseEpisodeView
AcceptsEnclosureEnabledRequest
Response examples
200OK
{
"statusCode": 0,
"statusMessage": "string",
"data": {
"id": 0,
"seriesId": 0,
"seriesSlug": "string",
"episodeNumber": 0
},
"errors": [
{
"code": "string",
"message": "string",
"field": "string"
}
]
}PUT/api/v1/episodes/{episodeId}/formats
Parameters 1
| Name | Type | Description |
|---|---|---|
episodeIdrequired | path · integer |
ReturnsResponseEpisodeView
AcceptsReplaceFormatsRequest
Response examples
200OK
{
"statusCode": 0,
"statusMessage": "string",
"data": {
"id": 0,
"seriesId": 0,
"seriesSlug": "string",
"episodeNumber": 0
},
"errors": [
{
"code": "string",
"message": "string",
"field": "string"
}
]
}POST/api/v1/episodes/{episodeId}/publish
Parameters 1
| Name | Type | Description |
|---|---|---|
episodeIdrequired | path · integer |
ReturnsResponseEpisodeView
AcceptsPublishOptionsRequest
Response examples
200OK
{
"statusCode": 0,
"statusMessage": "string",
"data": {
"id": 0,
"seriesId": 0,
"seriesSlug": "string",
"episodeNumber": 0
},
"errors": [
{
"code": "string",
"message": "string",
"field": "string"
}
]
}POST/api/v1/episodes/{episodeId}/schedule
Parameters 1
| Name | Type | Description |
|---|---|---|
episodeIdrequired | path · integer |
ReturnsResponseEpisodeView
AcceptsScheduleEpisodeRequest
Response examples
200OK
{
"statusCode": 0,
"statusMessage": "string",
"data": {
"id": 0,
"seriesId": 0,
"seriesSlug": "string",
"episodeNumber": 0
},
"errors": [
{
"code": "string",
"message": "string",
"field": "string"
}
]
}POST/api/v1/episodes/{episodeId}/unarchive
Parameters 1
| Name | Type | Description |
|---|---|---|
episodeIdrequired | path · integer |
ReturnsResponseEpisodeView
Response examples
200OK
{
"statusCode": 0,
"statusMessage": "string",
"data": {
"id": 0,
"seriesId": 0,
"seriesSlug": "string",
"episodeNumber": 0
},
"errors": [
{
"code": "string",
"message": "string",
"field": "string"
}
]
}POST/api/v1/episodes/{episodeId}/unpublish
Parameters 1
| Name | Type | Description |
|---|---|---|
episodeIdrequired | path · integer |
ReturnsResponseEpisodeView
Response examples
200OK
{
"statusCode": 0,
"statusMessage": "string",
"data": {
"id": 0,
"seriesId": 0,
"seriesSlug": "string",
"episodeNumber": 0
},
"errors": [
{
"code": "string",
"message": "string",
"field": "string"
}
]
}me-article-controller
GET/api/v1/me/articles
ReturnsResponseListMeArticleView
Response examples
200OK
{
"statusCode": 0,
"statusMessage": "string",
"data": [
{
"id": 0,
"slug": "string",
"title": "string",
"body": "string"
}
],
"errors": [
{
"code": "string",
"message": "string",
"field": "string"
}
]
}me-billing-controller
POST/api/v1/me/billing/checkout-sessions
ReturnsResponseCheckoutSessionView
AcceptsCheckoutSessionRequest
Response examples
200OK
{
"statusCode": 0,
"statusMessage": "string",
"data": {
"url": "string"
},
"errors": [
{
"code": "string",
"message": "string",
"field": "string"
}
]
}POST/api/v1/me/billing/portal
ReturnsResponseCheckoutSessionView
AcceptsPortalRequest
Response examples
200OK
{
"statusCode": 0,
"statusMessage": "string",
"data": {
"url": "string"
},
"errors": [
{
"code": "string",
"message": "string",
"field": "string"
}
]
}me-controller
GET/api/v1/me
ReturnsResponseMeResponse
Response examples
200OK
{
"statusCode": 0,
"statusMessage": "string",
"data": {
"email": "string",
"name": "string",
"roles": [
"string"
],
"tenantId": 0
},
"errors": [
{
"code": "string",
"message": "string",
"field": "string"
}
]
}GET/api/v1/me/access
ReturnsResponseAccessResponse
Response examples
200OK
{
"statusCode": 0,
"statusMessage": "string",
"data": {
"activeLevels": [
{
"id": 0,
"slug": "string",
"title": "string",
"sortOrder": 0
}
],
"maxLevelSortOrder": 0,
"activePackages": [
{
"id": 0,
"slug": "string",
"title": "string"
}
],
"roles": [
"string"
]
},
"errors": [
{
"code": "string",
"message": "string",
"field": "string"
}
]
}GET/api/v1/me/subscriptions
ReturnsResponseListSubscriptionView
Response examples
200OK
{
"statusCode": 0,
"statusMessage": "string",
"data": [
{
"id": 0,
"userId": 0,
"email": "string",
"productId": 0
}
],
"errors": [
{
"code": "string",
"message": "string",
"field": "string"
}
]
}me-downloads-controller
GET/api/v1/me/downloads
ReturnsResponseListDownloadView
Response examples
200OK
{
"statusCode": 0,
"statusMessage": "string",
"data": [
{
"id": 0,
"title": "string",
"assetType": "string",
"mimeType": "string"
}
],
"errors": [
{
"code": "string",
"message": "string",
"field": "string"
}
]
}me-episode-controller
GET/api/v1/me/episodes
ReturnsResponseListMeEpisodeView
Response examples
200OK
{
"statusCode": 0,
"statusMessage": "string",
"data": [
{
"id": 0,
"seriesId": 0,
"seriesSlug": "string",
"episodeNumber": 0
}
],
"errors": [
{
"code": "string",
"message": "string",
"field": "string"
}
]
}GET/api/v1/me/episodes/{slug}/stream
Parameters 1
| Name | Type | Description |
|---|---|---|
slugrequired | path · string |
me-feed-controller
GET/api/v1/me/feeds
ReturnsResponseListSubscriberFeedView
Response examples
200OK
{
"statusCode": 0,
"statusMessage": "string",
"data": [
{
"id": 0,
"title": "string",
"isDefault": true,
"enabled": true
}
],
"errors": [
{
"code": "string",
"message": "string",
"field": "string"
}
]
}POST/api/v1/me/feeds
ReturnsResponseSubscriberFeedView
AcceptsCreateCustomFeedRequest
Response examples
200OK
{
"statusCode": 0,
"statusMessage": "string",
"data": {
"id": 0,
"title": "string",
"isDefault": true,
"enabled": true
},
"errors": [
{
"code": "string",
"message": "string",
"field": "string"
}
]
}PUT/api/v1/me/feeds/{feedId}
Parameters 1
| Name | Type | Description |
|---|---|---|
feedIdrequired | path · integer |
ReturnsResponseSubscriberFeedView
AcceptsUpdateCustomFeedRequest
Response examples
200OK
{
"statusCode": 0,
"statusMessage": "string",
"data": {
"id": 0,
"title": "string",
"isDefault": true,
"enabled": true
},
"errors": [
{
"code": "string",
"message": "string",
"field": "string"
}
]
}DELETE/api/v1/me/feeds/{feedId}
Parameters 1
| Name | Type | Description |
|---|---|---|
feedIdrequired | path · integer |
ReturnsResponseSubscriberFeedView
Response examples
200OK
{
"statusCode": 0,
"statusMessage": "string",
"data": {
"id": 0,
"title": "string",
"isDefault": true,
"enabled": true
},
"errors": [
{
"code": "string",
"message": "string",
"field": "string"
}
]
}PUT/api/v1/me/feeds/{feedId}/enabled
Parameters 1
| Name | Type | Description |
|---|---|---|
feedIdrequired | path · integer |
ReturnsResponseSubscriberFeedView
AcceptsFeedEnabledRequest
Response examples
200OK
{
"statusCode": 0,
"statusMessage": "string",
"data": {
"id": 0,
"title": "string",
"isDefault": true,
"enabled": true
},
"errors": [
{
"code": "string",
"message": "string",
"field": "string"
}
]
}GET/api/v1/me/feeds/{feedId}/preview
Parameters 1
| Name | Type | Description |
|---|---|---|
feedIdrequired | path · integer |
ReturnsResponseFeedPreviewView
Response examples
200OK
{
"statusCode": 0,
"statusMessage": "string",
"data": {
"episodeCount": 0,
"sampleTitles": [
"string"
]
},
"errors": [
{
"code": "string",
"message": "string",
"field": "string"
}
]
}POST/api/v1/me/feeds/{feedId}/rotate-token
Parameters 1
| Name | Type | Description |
|---|---|---|
feedIdrequired | path · integer |
ReturnsResponseSubscriberFeedView
Response examples
200OK
{
"statusCode": 0,
"statusMessage": "string",
"data": {
"id": 0,
"title": "string",
"isDefault": true,
"enabled": true
},
"errors": [
{
"code": "string",
"message": "string",
"field": "string"
}
]
}PUT/api/v1/me/feeds/default/enabled
ReturnsResponseSubscriberFeedView
AcceptsFeedEnabledRequest
Response examples
200OK
{
"statusCode": 0,
"statusMessage": "string",
"data": {
"id": 0,
"title": "string",
"isDefault": true,
"enabled": true
},
"errors": [
{
"code": "string",
"message": "string",
"field": "string"
}
]
}POST/api/v1/me/feeds/default/rotate-token
ReturnsResponseSubscriberFeedView
Response examples
200OK
{
"statusCode": 0,
"statusMessage": "string",
"data": {
"id": 0,
"title": "string",
"isDefault": true,
"enabled": true
},
"errors": [
{
"code": "string",
"message": "string",
"field": "string"
}
]
}GET/api/v1/me/feeds/preview
Parameters 1
| Name | Type | Description |
|---|---|---|
formatIdsrequired | query · array |
ReturnsResponseFeedPreviewView
Response examples
200OK
{
"statusCode": 0,
"statusMessage": "string",
"data": {
"episodeCount": 0,
"sampleTitles": [
"string"
]
},
"errors": [
{
"code": "string",
"message": "string",
"field": "string"
}
]
}me-notification-preferences-controller
GET/api/v1/me/notification-preferences
ReturnsResponseNotificationPreferencesView
Response examples
200OK
{
"statusCode": 0,
"statusMessage": "string",
"data": {
"emailNotificationsEnabled": true,
"emailNotifyAvailable": true
},
"errors": [
{
"code": "string",
"message": "string",
"field": "string"
}
]
}PATCH/api/v1/me/notification-preferences
ReturnsResponseNotificationPreferencesView
AcceptsUpdateNotificationPreferencesRequest
Response examples
200OK
{
"statusCode": 0,
"statusMessage": "string",
"data": {
"emailNotificationsEnabled": true,
"emailNotifyAvailable": true
},
"errors": [
{
"code": "string",
"message": "string",
"field": "string"
}
]
}media-controller
GET/api/v1/media
Parameters 3
| Name | Type | Description |
|---|---|---|
assetType | query · string | |
status | query · string | |
limit | query · integer |
ReturnsResponseListMediaAssetView
Response examples
200OK
{
"statusCode": 0,
"statusMessage": "string",
"data": [
{
"id": 0,
"s3Key": "string",
"visibility": "string",
"scope": "string"
}
],
"errors": [
{
"code": "string",
"message": "string",
"field": "string"
}
]
}GET/api/v1/media/{id}
Parameters 1
| Name | Type | Description |
|---|---|---|
idrequired | path · integer |
ReturnsResponseMediaAssetView
Response examples
200OK
{
"statusCode": 0,
"statusMessage": "string",
"data": {
"id": 0,
"s3Key": "string",
"visibility": "string",
"scope": "string"
},
"errors": [
{
"code": "string",
"message": "string",
"field": "string"
}
]
}DELETE/api/v1/media/{id}
Parameters 1
| Name | Type | Description |
|---|---|---|
idrequired | path · integer |
ReturnsResponseMediaAssetView
Response examples
200OK
{
"statusCode": 0,
"statusMessage": "string",
"data": {
"id": 0,
"s3Key": "string",
"visibility": "string",
"scope": "string"
},
"errors": [
{
"code": "string",
"message": "string",
"field": "string"
}
]
}POST/api/v1/media/{id}/confirm
Parameters 1
| Name | Type | Description |
|---|---|---|
idrequired | path · integer |
ReturnsResponseMediaAssetView
Response examples
200OK
{
"statusCode": 0,
"statusMessage": "string",
"data": {
"id": 0,
"s3Key": "string",
"visibility": "string",
"scope": "string"
},
"errors": [
{
"code": "string",
"message": "string",
"field": "string"
}
]
}GET/api/v1/media/{id}/preview-url
Parameters 2
| Name | Type | Description |
|---|---|---|
idrequired | path · integer | |
previewDraft | query · boolean |
ReturnsResponsePreviewUrlResponse
Response examples
200OK
{
"statusCode": 0,
"statusMessage": "string",
"data": {
"url": "string"
},
"errors": [
{
"code": "string",
"message": "string",
"field": "string"
}
]
}POST/api/v1/media/upload-url
ReturnsResponseUploadUrlResponse
AcceptsCreateUploadUrlRequest
Response examples
200OK
{
"statusCode": 0,
"statusMessage": "string",
"data": {
"assetId": 0,
"uploadUrl": "string",
"expiresAt": "2024-01-15T09:30:00Z",
"headers": {}
},
"errors": [
{
"code": "string",
"message": "string",
"field": "string"
}
]
}module-probe-controller
GET/api/v1/probes/digital
ReturnsResponseProbeResponse
Response examples
200OK
{
"statusCode": 0,
"statusMessage": "string",
"data": {
"module": "string",
"status": "string"
},
"errors": [
{
"code": "string",
"message": "string",
"field": "string"
}
]
}GET/api/v1/probes/podcast
ReturnsResponseProbeResponse
Response examples
200OK
{
"statusCode": 0,
"statusMessage": "string",
"data": {
"module": "string",
"status": "string"
},
"errors": [
{
"code": "string",
"message": "string",
"field": "string"
}
]
}platform-admin-controller
GET/api/v1/platform/admins
ReturnsResponseListPlatformAdminView
Response examples
200OK
{
"statusCode": 0,
"statusMessage": "string",
"data": [
{
"userId": 0,
"email": "string",
"name": "string",
"lastLoginAt": "2024-01-15T09:30:00Z"
}
],
"errors": [
{
"code": "string",
"message": "string",
"field": "string"
}
]
}DELETE/api/v1/platform/admins/{userId}
Parameters 1
| Name | Type | Description |
|---|---|---|
userIdrequired | path · integer |
ReturnsResponsePlatformAdminView
Response examples
200OK
{
"statusCode": 0,
"statusMessage": "string",
"data": {
"userId": 0,
"email": "string",
"name": "string",
"lastLoginAt": "2024-01-15T09:30:00Z"
},
"errors": [
{
"code": "string",
"message": "string",
"field": "string"
}
]
}POST/api/v1/platform/admins/invite
ReturnsResponsePlatformAdminInvitationResponse
AcceptsInvitePlatformAdminRequest
Response examples
200OK
{
"statusCode": 0,
"statusMessage": "string",
"data": {
"userId": 0,
"email": "string",
"name": "string",
"status": "string"
},
"errors": [
{
"code": "string",
"message": "string",
"field": "string"
}
]
}platform-audit-controller
GET/api/v1/platform/audit
Parameters 6
| Name | Type | Description |
|---|---|---|
page | query · integer | |
size | query · integer | |
tenantId | query · integer |
ReturnsResponseListPlatformAuditView
Response examples
200OK
{
"statusCode": 0,
"statusMessage": "string",
"data": [
{
"id": 0,
"action": "string",
"actorUserId": 0,
"actorEmail": "string"
}
],
"errors": [
{
"code": "string",
"message": "string",
"field": "string"
}
]
}platform-module-controller
GET/api/v1/platform/modules
ReturnsResponseListModuleView
Response examples
200OK
{
"statusCode": 0,
"statusMessage": "string",
"data": [
{
"moduleKey": "string",
"name": "string",
"description": "string",
"dependsOn": [
"string"
]
}
],
"errors": [
{
"code": "string",
"message": "string",
"field": "string"
}
]
}GET/api/v1/platform/tenants/{tenantId}/modules
Parameters 1
| Name | Type | Description |
|---|---|---|
tenantIdrequired | path · integer |
ReturnsResponseTenantModulesView
Response examples
200OK
{
"statusCode": 0,
"statusMessage": "string",
"data": {
"enabledModules": [
"string"
],
"activations": [
{
"moduleKey": "string",
"active": true,
"activatedAt": "2024-01-15T09:30:00Z",
"source": "string"
}
]
},
"errors": [
{
"code": "string",
"message": "string",
"field": "string"
}
]
}DELETE/api/v1/platform/tenants/{tenantId}/modules/{moduleKey}
Parameters 2
| Name | Type | Description |
|---|---|---|
tenantIdrequired | path · integer | |
moduleKeyrequired | path · string |
ReturnsResponseTenantModulesView
Response examples
200OK
{
"statusCode": 0,
"statusMessage": "string",
"data": {
"enabledModules": [
"string"
],
"activations": [
{
"moduleKey": "string",
"active": true,
"activatedAt": "2024-01-15T09:30:00Z",
"source": "string"
}
]
},
"errors": [
{
"code": "string",
"message": "string",
"field": "string"
}
]
}POST/api/v1/platform/tenants/{tenantId}/modules/{moduleKey}/activate
Parameters 2
| Name | Type | Description |
|---|---|---|
tenantIdrequired | path · integer | |
moduleKeyrequired | path · string |
ReturnsResponseTenantModulesView
Response examples
200OK
{
"statusCode": 0,
"statusMessage": "string",
"data": {
"enabledModules": [
"string"
],
"activations": [
{
"moduleKey": "string",
"active": true,
"activatedAt": "2024-01-15T09:30:00Z",
"source": "string"
}
]
},
"errors": [
{
"code": "string",
"message": "string",
"field": "string"
}
]
}POST/api/v1/platform/tenants/{tenantId}/modules/preset/{presetKey}
Parameters 2
| Name | Type | Description |
|---|---|---|
tenantIdrequired | path · integer | |
presetKeyrequired | path · string |
ReturnsResponseTenantModulesView
Response examples
200OK
{
"statusCode": 0,
"statusMessage": "string",
"data": {
"enabledModules": [
"string"
],
"activations": [
{
"moduleKey": "string",
"active": true,
"activatedAt": "2024-01-15T09:30:00Z",
"source": "string"
}
]
},
"errors": [
{
"code": "string",
"message": "string",
"field": "string"
}
]
}platform-overview-controller
GET/api/v1/platform/overview
Parameters 1
| Name | Type | Description |
|---|---|---|
recentAuditLimit | query · integer |
ReturnsResponsePlatformOverviewView
Response examples
200OK
{
"statusCode": 0,
"statusMessage": "string",
"data": {
"tenantCounts": {
"active": 0,
"suspended": 0
},
"moduleAdoption": [
{
"moduleKey": "string",
"tenantCount": 0
}
],
"recentAudit": [
{
"id": 0,
"action": "string",
"actorUserId": 0,
"actorEmail": "string"
}
]
},
"errors": [
{
"code": "string",
"message": "string",
"field": "string"
}
]
}platform-queue-controller
GET/api/v1/platform/queue/jobs
Parameters 7
| Name | Type | Description |
|---|---|---|
queue | query · string | |
status | query · string | |
tenantId | query · integer |
ReturnsResponseListQueueJob
Response examples
200OK
{
"statusCode": 0,
"statusMessage": "string",
"data": [
{
"id": "00000000-0000-4000-8000-000000000000",
"queue": "string",
"payload": {
"array": true,
"empty": true,
"null": true,
"float": true
},
"priority": 0
}
],
"errors": [
{
"code": "string",
"message": "string",
"field": "string"
}
]
}POST/api/v1/platform/queue/jobs
ReturnsResponseQueueJob
AcceptsEnqueueJobRequest
Response examples
200OK
{
"statusCode": 0,
"statusMessage": "string",
"data": {
"id": "00000000-0000-4000-8000-000000000000",
"queue": "string",
"payload": {
"array": true,
"empty": true,
"null": true,
"float": true
},
"priority": 0
},
"errors": [
{
"code": "string",
"message": "string",
"field": "string"
}
]
}GET/api/v1/platform/queue/jobs/{id}
Parameters 1
| Name | Type | Description |
|---|---|---|
idrequired | path · string |
ReturnsResponseQueueJob
Response examples
200OK
{
"statusCode": 0,
"statusMessage": "string",
"data": {
"id": "00000000-0000-4000-8000-000000000000",
"queue": "string",
"payload": {
"array": true,
"empty": true,
"null": true,
"float": true
},
"priority": 0
},
"errors": [
{
"code": "string",
"message": "string",
"field": "string"
}
]
}POST/api/v1/platform/queue/jobs/{id}/complete
Parameters 1
| Name | Type | Description |
|---|---|---|
idrequired | path · string |
ReturnsResponseQueueJob
AcceptsCompleteJobRequest
Response examples
200OK
{
"statusCode": 0,
"statusMessage": "string",
"data": {
"id": "00000000-0000-4000-8000-000000000000",
"queue": "string",
"payload": {
"array": true,
"empty": true,
"null": true,
"float": true
},
"priority": 0
},
"errors": [
{
"code": "string",
"message": "string",
"field": "string"
}
]
}POST/api/v1/platform/queue/jobs/{id}/fail
Parameters 1
| Name | Type | Description |
|---|---|---|
idrequired | path · string |
ReturnsResponseQueueJob
AcceptsFailJobRequest
Response examples
200OK
{
"statusCode": 0,
"statusMessage": "string",
"data": {
"id": "00000000-0000-4000-8000-000000000000",
"queue": "string",
"payload": {
"array": true,
"empty": true,
"null": true,
"float": true
},
"priority": 0
},
"errors": [
{
"code": "string",
"message": "string",
"field": "string"
}
]
}POST/api/v1/platform/queue/jobs/claim
ReturnsResponseListQueueJob
AcceptsClaimJobsRequest
Response examples
200OK
{
"statusCode": 0,
"statusMessage": "string",
"data": [
{
"id": "00000000-0000-4000-8000-000000000000",
"queue": "string",
"payload": {
"array": true,
"empty": true,
"null": true,
"float": true
},
"priority": 0
}
],
"errors": [
{
"code": "string",
"message": "string",
"field": "string"
}
]
}platform-tenant-controller
GET/api/v1/platform/tenants
ReturnsResponseTenantListResponse
Response examples
200OK
{
"statusCode": 0,
"statusMessage": "string",
"data": {
"content": [
{
"id": 0,
"slug": "string",
"name": "string",
"status": "string"
}
]
},
"errors": [
{
"code": "string",
"message": "string",
"field": "string"
}
]
}POST/api/v1/platform/tenants
ReturnsResponseTenantCreationResponse
AcceptsCreateTenantRequest
Response examples
200OK
{
"statusCode": 0,
"statusMessage": "string",
"data": {
"id": 0,
"slug": "string",
"name": "string",
"status": "string"
},
"errors": [
{
"code": "string",
"message": "string",
"field": "string"
}
]
}GET/api/v1/platform/tenants/{tenantId}
Parameters 1
| Name | Type | Description |
|---|---|---|
tenantIdrequired | path · integer |
ReturnsResponseTenantDetailResponse
Response examples
200OK
{
"statusCode": 0,
"statusMessage": "string",
"data": {
"tenant": {
"id": 0,
"slug": "string",
"name": "string",
"status": "string"
},
"episodeCount": 0,
"subscriberCount": 0
},
"errors": [
{
"code": "string",
"message": "string",
"field": "string"
}
]
}PATCH/api/v1/platform/tenants/{tenantId}
Parameters 1
| Name | Type | Description |
|---|---|---|
tenantIdrequired | path · integer |
ReturnsResponseTenantDetailView
AcceptsUpdateTenantRequest
Response examples
200OK
{
"statusCode": 0,
"statusMessage": "string",
"data": {
"id": 0,
"slug": "string",
"name": "string",
"status": "string"
},
"errors": [
{
"code": "string",
"message": "string",
"field": "string"
}
]
}POST/api/v1/platform/tenants/{tenantId}/domains/{host}/verify
Parameters 2
| Name | Type | Description |
|---|---|---|
tenantIdrequired | path · integer | |
hostrequired | path · string |
ReturnsResponseDomainView
Response examples
200OK
{
"statusCode": 0,
"statusMessage": "string",
"data": {
"host": "string",
"primary": true,
"verified": true
},
"errors": [
{
"code": "string",
"message": "string",
"field": "string"
}
]
}POST/api/v1/platform/tenants/{tenantId}/reactivate
Parameters 1
| Name | Type | Description |
|---|---|---|
tenantIdrequired | path · integer |
ReturnsResponseTenantDetailView
Response examples
200OK
{
"statusCode": 0,
"statusMessage": "string",
"data": {
"id": 0,
"slug": "string",
"name": "string",
"status": "string"
},
"errors": [
{
"code": "string",
"message": "string",
"field": "string"
}
]
}POST/api/v1/platform/tenants/{tenantId}/suspend
Parameters 1
| Name | Type | Description |
|---|---|---|
tenantIdrequired | path · integer |
ReturnsResponseTenantDetailView
Response examples
200OK
{
"statusCode": 0,
"statusMessage": "string",
"data": {
"id": 0,
"slug": "string",
"name": "string",
"status": "string"
},
"errors": [
{
"code": "string",
"message": "string",
"field": "string"
}
]
}platform-tenant-media-controller
GET/api/v1/platform/tenants/{tenantId}/media
Parameters 4
| Name | Type | Description |
|---|---|---|
tenantIdrequired | path · integer | |
assetType | query · string | |
status | query · string |
ReturnsResponseTenantMediaListResponse
Response examples
200OK
{
"statusCode": 0,
"statusMessage": "string",
"data": {
"content": [
{
"id": 0,
"s3Key": "string",
"visibility": "string",
"scope": "string"
}
],
"publicCdnBaseUrl": "string"
},
"errors": [
{
"code": "string",
"message": "string",
"field": "string"
}
]
}DELETE/api/v1/platform/tenants/{tenantId}/media/{assetId}
Parameters 2
| Name | Type | Description |
|---|---|---|
tenantIdrequired | path · integer | |
assetIdrequired | path · integer |
ReturnsResponseMediaAssetView
Response examples
200OK
{
"statusCode": 0,
"statusMessage": "string",
"data": {
"id": 0,
"s3Key": "string",
"visibility": "string",
"scope": "string"
},
"errors": [
{
"code": "string",
"message": "string",
"field": "string"
}
]
}POST/api/v1/platform/tenants/{tenantId}/media/{assetId}/confirm
Parameters 2
| Name | Type | Description |
|---|---|---|
tenantIdrequired | path · integer | |
assetIdrequired | path · integer |
ReturnsResponseMediaAssetView
Response examples
200OK
{
"statusCode": 0,
"statusMessage": "string",
"data": {
"id": 0,
"s3Key": "string",
"visibility": "string",
"scope": "string"
},
"errors": [
{
"code": "string",
"message": "string",
"field": "string"
}
]
}POST/api/v1/platform/tenants/{tenantId}/media/upload-url
Parameters 1
| Name | Type | Description |
|---|---|---|
tenantIdrequired | path · integer |
ReturnsResponseUploadUrlResponse
AcceptsCreateUploadUrlRequest
Response examples
200OK
{
"statusCode": 0,
"statusMessage": "string",
"data": {
"assetId": 0,
"uploadUrl": "string",
"expiresAt": "2024-01-15T09:30:00Z",
"headers": {}
},
"errors": [
{
"code": "string",
"message": "string",
"field": "string"
}
]
}platform-tenant-user-controller
GET/api/v1/platform/tenants/{tenantId}/users
Parameters 1
| Name | Type | Description |
|---|---|---|
tenantIdrequired | path · integer |
ReturnsResponseTenantUserListResponse
Response examples
200OK
{
"statusCode": 0,
"statusMessage": "string",
"data": {
"content": [
{
"userId": 0,
"email": "string",
"name": "string",
"roles": [
"string"
]
}
]
},
"errors": [
{
"code": "string",
"message": "string",
"field": "string"
}
]
}PATCH/api/v1/platform/tenants/{tenantId}/users/{userId}
Parameters 2
| Name | Type | Description |
|---|---|---|
tenantIdrequired | path · integer | |
userIdrequired | path · integer |
ReturnsResponseTenantUserView
AcceptsUpdateTenantUserRoleRequest
Response examples
200OK
{
"statusCode": 0,
"statusMessage": "string",
"data": {
"userId": 0,
"email": "string",
"name": "string",
"roles": [
"string"
]
},
"errors": [
{
"code": "string",
"message": "string",
"field": "string"
}
]
}POST/api/v1/platform/tenants/{tenantId}/users/{userId}/deactivate
Parameters 2
| Name | Type | Description |
|---|---|---|
tenantIdrequired | path · integer | |
userIdrequired | path · integer |
ReturnsResponseTenantUserView
Response examples
200OK
{
"statusCode": 0,
"statusMessage": "string",
"data": {
"userId": 0,
"email": "string",
"name": "string",
"roles": [
"string"
]
},
"errors": [
{
"code": "string",
"message": "string",
"field": "string"
}
]
}POST/api/v1/platform/tenants/{tenantId}/users/{userId}/reactivate
Parameters 2
| Name | Type | Description |
|---|---|---|
tenantIdrequired | path · integer | |
userIdrequired | path · integer |
ReturnsResponseTenantUserView
Response examples
200OK
{
"statusCode": 0,
"statusMessage": "string",
"data": {
"userId": 0,
"email": "string",
"name": "string",
"roles": [
"string"
]
},
"errors": [
{
"code": "string",
"message": "string",
"field": "string"
}
]
}POST/api/v1/platform/tenants/{tenantId}/users/{userId}/resend-invite
Parameters 2
| Name | Type | Description |
|---|---|---|
tenantIdrequired | path · integer | |
userIdrequired | path · integer |
ReturnsResponseInviteUserResponse
Response examples
200OK
{
"statusCode": 0,
"statusMessage": "string",
"data": {
"email": "string",
"role": "string",
"status": "string",
"inviteToken": "string"
},
"errors": [
{
"code": "string",
"message": "string",
"field": "string"
}
]
}POST/api/v1/platform/tenants/{tenantId}/users/invite
Parameters 1
| Name | Type | Description |
|---|---|---|
tenantIdrequired | path · integer |
ReturnsResponseInviteUserResponse
AcceptsInviteTenantUserRequest
Response examples
200OK
{
"statusCode": 0,
"statusMessage": "string",
"data": {
"email": "string",
"role": "string",
"status": "string",
"inviteToken": "string"
},
"errors": [
{
"code": "string",
"message": "string",
"field": "string"
}
]
}podcast-import-controller
POST/api/v1/podcast/import/assets
ReturnsResponseMediaAssetView
AcceptsIngestAssetRequest
Response examples
200OK
{
"statusCode": 0,
"statusMessage": "string",
"data": {
"id": 0,
"s3Key": "string",
"visibility": "string",
"scope": "string"
},
"errors": [
{
"code": "string",
"message": "string",
"field": "string"
}
]
}GET/api/v1/podcast/import/assets/{assetId}
Parameters 1
| Name | Type | Description |
|---|---|---|
assetIdrequired | path · integer |
ReturnsResponseMediaAssetView
Response examples
200OK
{
"statusCode": 0,
"statusMessage": "string",
"data": {
"id": 0,
"s3Key": "string",
"visibility": "string",
"scope": "string"
},
"errors": [
{
"code": "string",
"message": "string",
"field": "string"
}
]
}POST/api/v1/podcast/import/episodes
ReturnsResponseImportedEpisodeView
AcceptsImportEpisodeRequest
Response examples
200OK
{
"statusCode": 0,
"statusMessage": "string",
"data": {
"episode": {
"id": 0,
"seriesId": 0,
"seriesSlug": "string",
"episodeNumber": 0
},
"alreadyImported": true
},
"errors": [
{
"code": "string",
"message": "string",
"field": "string"
}
]
}POST/api/v1/podcast/import/preview
ReturnsResponsePreviewView
AcceptsPreviewRequest
Response examples
200OK
{
"statusCode": 0,
"statusMessage": "string",
"data": {
"feedUrl": "string",
"channel": {
"title": "string",
"description": "string",
"language": "string",
"itunesCategory": "string"
},
"episodes": [
{
"guid": "string",
"title": "string",
"description": "string",
"publishedAt": "string"
}
],
"truncated": true
},
"errors": [
{
"code": "string",
"message": "string",
"field": "string"
}
]
}public-altcha-controller
GET/api/v1/public/altcha/challenge
Response examples
200OK
"string"public-article-controller
GET/api/v1/public/articles
ReturnsResponseListPublicArticleView
Response examples
200OK
{
"statusCode": 0,
"statusMessage": "string",
"data": [
{
"id": 0,
"slug": "string",
"title": "string",
"body": "string"
}
],
"errors": [
{
"code": "string",
"message": "string",
"field": "string"
}
]
}GET/api/v1/public/articles/{slug}
Parameters 1
| Name | Type | Description |
|---|---|---|
slugrequired | path · string |
ReturnsResponsePublicArticleView
Response examples
200OK
{
"statusCode": 0,
"statusMessage": "string",
"data": {
"id": 0,
"slug": "string",
"title": "string",
"body": "string"
},
"errors": [
{
"code": "string",
"message": "string",
"field": "string"
}
]
}public-contact-controller
POST/api/v1/public/contact
ReturnsResponseContactAcceptedResponse
AcceptsContactRequest
Response examples
200OK
{
"statusCode": 0,
"statusMessage": "string",
"data": {
"accepted": true
},
"errors": [
{
"code": "string",
"message": "string",
"field": "string"
}
]
}public-episode-download-controller
GET/api/v1/public/episodes/{slug}/download
Parameters 1
| Name | Type | Description |
|---|---|---|
slugrequired | path · string |
public-level-controller
GET/api/v1/public/levels
ReturnsResponseListLevelView
Response examples
200OK
{
"statusCode": 0,
"statusMessage": "string",
"data": [
{
"id": 0,
"slug": "string",
"title": "string",
"sortOrder": 0
}
],
"errors": [
{
"code": "string",
"message": "string",
"field": "string"
}
]
}public-podcast-controller
GET/api/v1/public/categories
ReturnsResponseListPublicCategoryView
Response examples
200OK
{
"statusCode": 0,
"statusMessage": "string",
"data": [
{
"id": 0,
"slug": "string",
"name": "string",
"parentId": 0
}
],
"errors": [
{
"code": "string",
"message": "string",
"field": "string"
}
]
}GET/api/v1/public/episodes
Parameters 1
| Name | Type | Description |
|---|---|---|
seriesId | query · integer |
ReturnsResponseListPublicEpisodeView
Response examples
200OK
{
"statusCode": 0,
"statusMessage": "string",
"data": [
{
"id": 0,
"seriesId": 0,
"seriesSlug": "string",
"episodeNumber": 0
}
],
"errors": [
{
"code": "string",
"message": "string",
"field": "string"
}
]
}GET/api/v1/public/formats
ReturnsResponseListPublicFormatView
Response examples
200OK
{
"statusCode": 0,
"statusMessage": "string",
"data": [
{
"id": 0,
"slug": "string",
"name": "string",
"description": "string"
}
],
"errors": [
{
"code": "string",
"message": "string",
"field": "string"
}
]
}GET/api/v1/public/series
ReturnsResponseListPublicSeriesView
Response examples
200OK
{
"statusCode": 0,
"statusMessage": "string",
"data": [
{
"id": 0,
"slug": "string",
"title": "string",
"description": "string"
}
],
"errors": [
{
"code": "string",
"message": "string",
"field": "string"
}
]
}public-site-config-controller
GET/api/v1/public/site-config
ReturnsResponseSiteConfigResponse
Response examples
200OK
{
"statusCode": 0,
"statusMessage": "string",
"data": {
"tenant": {
"slug": "string",
"name": "string"
},
"enabledModules": [
"string"
],
"branding": {
"siteTitle": "string",
"primaryColor": "string",
"secondaryColor": "string",
"logoUrl": "string"
},
"publicSiteUrl": "string"
},
"errors": [
{
"code": "string",
"message": "string",
"field": "string"
}
]
}public-subscription-product-controller
GET/api/v1/public/products
ReturnsResponseListProductView
Response examples
200OK
{
"statusCode": 0,
"statusMessage": "string",
"data": [
{
"id": 0,
"slug": "string",
"title": "string",
"offeringType": "string"
}
],
"errors": [
{
"code": "string",
"message": "string",
"field": "string"
}
]
}rss-feed-controller
GET/feeds/{tenantSlug}/{seriesSlug}.xml
Parameters 2
| Name | Type | Description |
|---|---|---|
tenantSlugrequired | path · string | |
seriesSlugrequired | path · string |
Response examples
200OK
"string"GET/feeds/{tenantSlug}/e/{episodeSlug}.mp3
Parameters 2
| Name | Type | Description |
|---|---|---|
tenantSlugrequired | path · string | |
episodeSlugrequired | path · string |
GET/feeds/{tenantSlug}/podcast.xml
Parameters 1
| Name | Type | Description |
|---|---|---|
tenantSlugrequired | path · string |
Response examples
200OK
"string"GET/feeds/{tenantSlug}/u/{feedToken}.xml
Parameters 2
| Name | Type | Description |
|---|---|---|
tenantSlugrequired | path · string | |
feedTokenrequired | path · string |
Response examples
200OK
"string"GET/feeds/{tenantSlug}/u/{feedToken}/e/{episodeSlug}.mp3
Parameters 3
| Name | Type | Description |
|---|---|---|
tenantSlugrequired | path · string | |
feedTokenrequired | path · string | |
episodeSlugrequired | path · string |
security-probe-controller
GET/api/v1/security/context
ReturnsResponseSecurityContextView
Response examples
200OK
{
"statusCode": 0,
"statusMessage": "string",
"data": {
"userId": 0,
"email": "string",
"roles": [
"string"
],
"tenantId": 0
},
"errors": [
{
"code": "string",
"message": "string",
"field": "string"
}
]
}GET/api/v1/security/editor
ReturnsResponseRoleProbeResponse
Response examples
200OK
{
"statusCode": 0,
"statusMessage": "string",
"data": {
"role": "string",
"scope": "string"
},
"errors": [
{
"code": "string",
"message": "string",
"field": "string"
}
]
}GET/api/v1/security/platform
ReturnsResponseRoleProbeResponse
Response examples
200OK
{
"statusCode": 0,
"statusMessage": "string",
"data": {
"role": "string",
"scope": "string"
},
"errors": [
{
"code": "string",
"message": "string",
"field": "string"
}
]
}GET/api/v1/security/subscriber
ReturnsResponseRoleProbeResponse
Response examples
200OK
{
"statusCode": 0,
"statusMessage": "string",
"data": {
"role": "string",
"scope": "string"
},
"errors": [
{
"code": "string",
"message": "string",
"field": "string"
}
]
}GET/api/v1/security/tenant-admin
ReturnsResponseRoleProbeResponse
Response examples
200OK
{
"statusCode": 0,
"statusMessage": "string",
"data": {
"role": "string",
"scope": "string"
},
"errors": [
{
"code": "string",
"message": "string",
"field": "string"
}
]
}series-controller
GET/api/v1/series
ReturnsResponseListSeriesView
Response examples
200OK
{
"statusCode": 0,
"statusMessage": "string",
"data": [
{
"id": 0,
"slug": "string",
"title": "string",
"description": "string"
}
],
"errors": [
{
"code": "string",
"message": "string",
"field": "string"
}
]
}POST/api/v1/series
ReturnsResponseSeriesView
AcceptsCreateSeriesRequest
Response examples
200OK
{
"statusCode": 0,
"statusMessage": "string",
"data": {
"id": 0,
"slug": "string",
"title": "string",
"description": "string"
},
"errors": [
{
"code": "string",
"message": "string",
"field": "string"
}
]
}GET/api/v1/series/{seriesId}
Parameters 1
| Name | Type | Description |
|---|---|---|
seriesIdrequired | path · integer |
ReturnsResponseSeriesView
Response examples
200OK
{
"statusCode": 0,
"statusMessage": "string",
"data": {
"id": 0,
"slug": "string",
"title": "string",
"description": "string"
},
"errors": [
{
"code": "string",
"message": "string",
"field": "string"
}
]
}PUT/api/v1/series/{seriesId}
Parameters 1
| Name | Type | Description |
|---|---|---|
seriesIdrequired | path · integer |
ReturnsResponseSeriesView
AcceptsUpdateSeriesRequest
Response examples
200OK
{
"statusCode": 0,
"statusMessage": "string",
"data": {
"id": 0,
"slug": "string",
"title": "string",
"description": "string"
},
"errors": [
{
"code": "string",
"message": "string",
"field": "string"
}
]
}stripe-webhook-controller
POST/api/v1/webhooks/stripe
Parameters 1
| Name | Type | Description |
|---|---|---|
Stripe-Signature | header · string |
ReturnsResponseVoid
Response examples
200OK
{
"statusCode": 0,
"statusMessage": "string",
"errors": [
{
"code": "string",
"message": "string",
"field": "string"
}
]
}studio-auth-controller
POST/api/v1/auth/studio/workspaces
ReturnsResponseStudioWorkspacesResponse
AcceptsStudioWorkspacesRequest
Response examples
200OK
{
"statusCode": 0,
"statusMessage": "string",
"data": {
"workspaces": [
{
"tenantId": 0,
"slug": "string",
"name": "string",
"host": "string"
}
]
},
"errors": [
{
"code": "string",
"message": "string",
"field": "string"
}
]
}tenant-admin-controller
GET/api/v1/tenant/branding
ReturnsResponseBrandingView
Response examples
200OK
{
"statusCode": 0,
"statusMessage": "string",
"data": {
"siteTitle": "string",
"primaryColor": "string",
"secondaryColor": "string",
"logoUrl": "string"
},
"errors": [
{
"code": "string",
"message": "string",
"field": "string"
}
]
}PUT/api/v1/tenant/branding
ReturnsResponseBrandingView
AcceptsBrandingUpdateRequest
Response examples
200OK
{
"statusCode": 0,
"statusMessage": "string",
"data": {
"siteTitle": "string",
"primaryColor": "string",
"secondaryColor": "string",
"logoUrl": "string"
},
"errors": [
{
"code": "string",
"message": "string",
"field": "string"
}
]
}GET/api/v1/tenant/domains
ReturnsResponseListDomainView
Response examples
200OK
{
"statusCode": 0,
"statusMessage": "string",
"data": [
{
"host": "string",
"primary": true,
"verified": true
}
],
"errors": [
{
"code": "string",
"message": "string",
"field": "string"
}
]
}POST/api/v1/tenant/domains
ReturnsResponseDomainView
AcceptsAddDomainRequest
Response examples
200OK
{
"statusCode": 0,
"statusMessage": "string",
"data": {
"host": "string",
"primary": true,
"verified": true
},
"errors": [
{
"code": "string",
"message": "string",
"field": "string"
}
]
}GET/api/v1/tenant/domains/{host}/verification
Parameters 1
| Name | Type | Description |
|---|---|---|
hostrequired | path · string |
ReturnsResponseDomainVerificationView
Response examples
200OK
{
"statusCode": 0,
"statusMessage": "string",
"data": {
"host": "string",
"token": "string",
"dnsTxtValue": "string",
"dnsNameHint": "string"
},
"errors": [
{
"code": "string",
"message": "string",
"field": "string"
}
]
}POST/api/v1/tenant/domains/{host}/verify
Parameters 1
| Name | Type | Description |
|---|---|---|
hostrequired | path · string |
ReturnsResponseDomainView
Response examples
200OK
{
"statusCode": 0,
"statusMessage": "string",
"data": {
"host": "string",
"primary": true,
"verified": true
},
"errors": [
{
"code": "string",
"message": "string",
"field": "string"
}
]
}GET/api/v1/tenant/users
ReturnsResponseListUserView
Response examples
200OK
{
"statusCode": 0,
"statusMessage": "string",
"data": [
{
"userId": 0,
"email": "string",
"name": "string",
"roles": [
"string"
]
}
],
"errors": [
{
"code": "string",
"message": "string",
"field": "string"
}
]
}POST/api/v1/tenant/users/{userId}/deactivate
Parameters 1
| Name | Type | Description |
|---|---|---|
userIdrequired | path · integer |
ReturnsResponseTenantUserView
Response examples
200OK
{
"statusCode": 0,
"statusMessage": "string",
"data": {
"userId": 0,
"email": "string",
"name": "string",
"roles": [
"string"
]
},
"errors": [
{
"code": "string",
"message": "string",
"field": "string"
}
]
}POST/api/v1/tenant/users/{userId}/reactivate
Parameters 1
| Name | Type | Description |
|---|---|---|
userIdrequired | path · integer |
ReturnsResponseTenantUserView
Response examples
200OK
{
"statusCode": 0,
"statusMessage": "string",
"data": {
"userId": 0,
"email": "string",
"name": "string",
"roles": [
"string"
]
},
"errors": [
{
"code": "string",
"message": "string",
"field": "string"
}
]
}POST/api/v1/tenant/users/invite
ReturnsResponseInviteUserResponse
AcceptsInviteRequest
Response examples
200OK
{
"statusCode": 0,
"statusMessage": "string",
"data": {
"email": "string",
"role": "string",
"status": "string",
"inviteToken": "string"
},
"errors": [
{
"code": "string",
"message": "string",
"field": "string"
}
]
}tenant-billing-dashboard-controller
GET/api/v1/tenant/billing/dashboard
ReturnsResponseBillingDashboard
Response examples
200OK
{
"statusCode": 0,
"statusMessage": "string",
"data": {
"stripe": {
"status": "string",
"moduleEnabled": true,
"message": "string",
"chargesEnabled": true
},
"stats": {
"activeSubscriptions": 0,
"activePaidSubscriptions": 0,
"activeGrantSubscriptions": 0,
"uniqueActiveMembers": 0
},
"memberships": [
{
"id": 0,
"userId": 0,
"email": "string",
"productId": 0
}
]
},
"errors": [
{
"code": "string",
"message": "string",
"field": "string"
}
]
}tenant-category-controller
GET/api/v1/categories
ReturnsResponseListCategoryView
Response examples
200OK
{
"statusCode": 0,
"statusMessage": "string",
"data": [
{
"id": 0,
"slug": "string",
"name": "string",
"parentId": 0
}
],
"errors": [
{
"code": "string",
"message": "string",
"field": "string"
}
]
}POST/api/v1/categories
ReturnsResponseCategoryView
AcceptsCreateCategoryRequest
Response examples
200OK
{
"statusCode": 0,
"statusMessage": "string",
"data": {
"id": 0,
"slug": "string",
"name": "string",
"parentId": 0
},
"errors": [
{
"code": "string",
"message": "string",
"field": "string"
}
]
}PUT/api/v1/categories/{categoryId}
Parameters 1
| Name | Type | Description |
|---|---|---|
categoryIdrequired | path · integer |
ReturnsResponseCategoryView
AcceptsUpdateCategoryRequest
Response examples
200OK
{
"statusCode": 0,
"statusMessage": "string",
"data": {
"id": 0,
"slug": "string",
"name": "string",
"parentId": 0
},
"errors": [
{
"code": "string",
"message": "string",
"field": "string"
}
]
}DELETE/api/v1/categories/{categoryId}
Parameters 1
| Name | Type | Description |
|---|---|---|
categoryIdrequired | path · integer |
ReturnsResponseCategoryView
Response examples
200OK
{
"statusCode": 0,
"statusMessage": "string",
"data": {
"id": 0,
"slug": "string",
"name": "string",
"parentId": 0
},
"errors": [
{
"code": "string",
"message": "string",
"field": "string"
}
]
}tenant-content-email-template-controller
GET/api/v1/tenant/content-email-templates/{contentType}
Parameters 1
| Name | Type | Description |
|---|---|---|
contentTyperequired | path · string |
ReturnsResponseTemplateView
Response examples
200OK
{
"statusCode": 0,
"statusMessage": "string",
"data": {
"contentType": "string",
"subjectTemplate": "string",
"bodyHtml": "string",
"updatedAt": "2024-01-15T09:30:00Z"
},
"errors": [
{
"code": "string",
"message": "string",
"field": "string"
}
]
}PUT/api/v1/tenant/content-email-templates/{contentType}
Parameters 1
| Name | Type | Description |
|---|---|---|
contentTyperequired | path · string |
ReturnsResponseTemplateView
AcceptsUpsertContentEmailTemplateRequest
Response examples
200OK
{
"statusCode": 0,
"statusMessage": "string",
"data": {
"contentType": "string",
"subjectTemplate": "string",
"bodyHtml": "string",
"updatedAt": "2024-01-15T09:30:00Z"
},
"errors": [
{
"code": "string",
"message": "string",
"field": "string"
}
]
}tenant-format-controller
GET/api/v1/formats
ReturnsResponseListFormatView
Response examples
200OK
{
"statusCode": 0,
"statusMessage": "string",
"data": [
{
"id": 0,
"slug": "string",
"name": "string",
"requiredLevelSortOrder": 0
}
],
"errors": [
{
"code": "string",
"message": "string",
"field": "string"
}
]
}POST/api/v1/formats
ReturnsResponseFormatView
AcceptsCreateFormatRequest
Response examples
200OK
{
"statusCode": 0,
"statusMessage": "string",
"data": {
"id": 0,
"slug": "string",
"name": "string",
"requiredLevelSortOrder": 0
},
"errors": [
{
"code": "string",
"message": "string",
"field": "string"
}
]
}PUT/api/v1/formats/{formatId}
Parameters 1
| Name | Type | Description |
|---|---|---|
formatIdrequired | path · integer |
ReturnsResponseFormatView
AcceptsUpdateFormatRequest
Response examples
200OK
{
"statusCode": 0,
"statusMessage": "string",
"data": {
"id": 0,
"slug": "string",
"name": "string",
"requiredLevelSortOrder": 0
},
"errors": [
{
"code": "string",
"message": "string",
"field": "string"
}
]
}DELETE/api/v1/formats/{formatId}
Parameters 1
| Name | Type | Description |
|---|---|---|
formatIdrequired | path · integer |
ReturnsResponseFormatView
Response examples
200OK
{
"statusCode": 0,
"statusMessage": "string",
"data": {
"id": 0,
"slug": "string",
"name": "string",
"requiredLevelSortOrder": 0
},
"errors": [
{
"code": "string",
"message": "string",
"field": "string"
}
]
}tenant-stripe-controller
POST/api/v1/tenant/stripe/onboard
ReturnsResponseOnboardView
AcceptsOnboardRequest
Response examples
200OK
{
"statusCode": 0,
"statusMessage": "string",
"data": {
"url": "string"
},
"errors": [
{
"code": "string",
"message": "string",
"field": "string"
}
]
}GET/api/v1/tenant/stripe/status
ReturnsResponseStripeStatusView
Response examples
200OK
{
"statusCode": 0,
"statusMessage": "string",
"data": {
"status": "string",
"moduleEnabled": true,
"message": "string",
"chargesEnabled": true
},
"errors": [
{
"code": "string",
"message": "string",
"field": "string"
}
]
}tenant-subscriber-controller
GET/api/v1/tenant/subscribers
ReturnsResponseListSubscriberView
Response examples
200OK
{
"statusCode": 0,
"statusMessage": "string",
"data": [
{
"userId": 0,
"email": "string",
"name": "string",
"status": "string"
}
],
"errors": [
{
"code": "string",
"message": "string",
"field": "string"
}
]
}tenant-subscriber-feed-controller
GET/api/v1/tenant/subscriber-feeds
ReturnsResponseListSubscriberFeedAdminView
Response examples
200OK
{
"statusCode": 0,
"statusMessage": "string",
"data": [
{
"id": 0,
"userId": 0,
"userEmail": "string",
"title": "string"
}
],
"errors": [
{
"code": "string",
"message": "string",
"field": "string"
}
]
}PUT/api/v1/tenant/subscriber-feeds/{feedId}/enabled
Parameters 1
| Name | Type | Description |
|---|---|---|
feedIdrequired | path · integer |
ReturnsResponseSubscriberFeedAdminView
AcceptsFeedEnabledRequest
Response examples
200OK
{
"statusCode": 0,
"statusMessage": "string",
"data": {
"id": 0,
"userId": 0,
"userEmail": "string",
"title": "string"
},
"errors": [
{
"code": "string",
"message": "string",
"field": "string"
}
]
}tenant-subscription-controller
POST/api/v1/tenant/subscriptions
ReturnsResponseSubscriptionView
AcceptsGrantSubscriptionRequest
Response examples
200OK
{
"statusCode": 0,
"statusMessage": "string",
"data": {
"id": 0,
"userId": 0,
"email": "string",
"productId": 0
},
"errors": [
{
"code": "string",
"message": "string",
"field": "string"
}
]
}DELETE/api/v1/tenant/subscriptions/{subscriptionId}
Parameters 1
| Name | Type | Description |
|---|---|---|
subscriptionIdrequired | path · integer |
ReturnsResponseSubscriptionView
Response examples
200OK
{
"statusCode": 0,
"statusMessage": "string",
"data": {
"id": 0,
"userId": 0,
"email": "string",
"productId": 0
},
"errors": [
{
"code": "string",
"message": "string",
"field": "string"
}
]
}tenant-subscription-product-controller
GET/api/v1/tenant/products
ReturnsResponseListProductView
Response examples
200OK
{
"statusCode": 0,
"statusMessage": "string",
"data": [
{
"id": 0,
"slug": "string",
"title": "string",
"offeringType": "string"
}
],
"errors": [
{
"code": "string",
"message": "string",
"field": "string"
}
]
}POST/api/v1/tenant/products
ReturnsResponseProductView
AcceptsCreateProductRequest
Response examples
200OK
{
"statusCode": 0,
"statusMessage": "string",
"data": {
"id": 0,
"slug": "string",
"title": "string",
"offeringType": "string"
},
"errors": [
{
"code": "string",
"message": "string",
"field": "string"
}
]
}PUT/api/v1/tenant/products/{productId}
Parameters 1
| Name | Type | Description |
|---|---|---|
productIdrequired | path · integer |
ReturnsResponseProductView
AcceptsUpdateProductRequest
Response examples
200OK
{
"statusCode": 0,
"statusMessage": "string",
"data": {
"id": 0,
"slug": "string",
"title": "string",
"offeringType": "string"
},
"errors": [
{
"code": "string",
"message": "string",
"field": "string"
}
]
}DELETE/api/v1/tenant/products/{productId}
Parameters 1
| Name | Type | Description |
|---|---|---|
productIdrequired | path · integer |
ReturnsResponseProductView
Response examples
200OK
{
"statusCode": 0,
"statusMessage": "string",
"data": {
"id": 0,
"slug": "string",
"title": "string",
"offeringType": "string"
},
"errors": [
{
"code": "string",
"message": "string",
"field": "string"
}
]
}GET/api/v1/tenant/products/{productId}/rules
Parameters 1
| Name | Type | Description |
|---|---|---|
productIdrequired | path · integer |
ReturnsResponseListProductAccessRuleView
Response examples
200OK
{
"statusCode": 0,
"statusMessage": "string",
"data": [
{
"id": 0,
"productId": 0,
"scopeType": "string",
"scopeId": 0
}
],
"errors": [
{
"code": "string",
"message": "string",
"field": "string"
}
]
}PUT/api/v1/tenant/products/{productId}/rules
Parameters 1
| Name | Type | Description |
|---|---|---|
productIdrequired | path · integer |
ReturnsResponseListProductAccessRuleView
AcceptsReplaceRulesRequest
Response examples
200OK
{
"statusCode": 0,
"statusMessage": "string",
"data": [
{
"id": 0,
"productId": 0,
"scopeType": "string",
"scopeId": 0
}
],
"errors": [
{
"code": "string",
"message": "string",
"field": "string"
}
]
}POST/api/v1/tenant/products/{productId}/sync-stripe
Parameters 1
| Name | Type | Description |
|---|---|---|
productIdrequired | path · integer |
ReturnsResponseProductView
Response examples
200OK
{
"statusCode": 0,
"statusMessage": "string",
"data": {
"id": 0,
"slug": "string",
"title": "string",
"offeringType": "string"
},
"errors": [
{
"code": "string",
"message": "string",
"field": "string"
}
]
}