Audio
Richie Audio API Endpoints
Descriptions of endpoints for audio metadata
GET /books/feeds/v3/{tenant_name}/podcast_episode/{episode_uuid}.json
Get metadata of a podcast episode. Does not need authentication.
Example response
Schema of "data" (a podcast episode)
"data"
follows the schema for a podcast episode, with some article compatibility fields left empty.
Property | Description | Value |
---|---|---|
kind | Kind (type) of the resource. | "podcast_episode" |
source_type | Origin of the episode. | "rss", "manual" or "article" |
guid | Identifier of the episode. | UUID |
series_title | Title of the series episode belongs to. | String |
series_guid | Identifier of the series episode belongs to. | UUID |
author | Episode author. | String |
original_article_url | Original article URL. Empty for actual podcast episodes. | String |
title | Episode title. | String |
description | Episode description. | String |
publication_date | Episode's first publication date. | String (a date) |
last_modified | Last time the metadata was updated. | String (a date). |
cover_url | URL for a cover picture. | String (an HTTPS URL). |
photo_author | Author of the related photo. Empty for actual podcast episodes. | String |
square_cover_url | URL for a cover picture, guaranteed to be square. Empty for actual podcast episodes. | String (an HTTPS URL) or null. |
square_photo_author | URL for a cover picture, guaranteed to be square. Empty for actual podcast episodes. | String or null. |
audio_url | Playback URL for the main audio. | String (an HTTPS URL). |
audio_duration | Duration of audio in seconds. 0 and null mean duration is unknown. | Integer (incl. 0) or null. |
audio_length | Content length of audio file, in bytes. 0 means unknown length. | Integer (incl. 0). |
audio_sample | Details of a free sample version for audio. Not available for all episodes. | Object or null. |
audio_sample.audio_url | Playback URL for the sample version. | String (an HTTPS URL) if audio_sample is an object. |
audio_sample.audio_duration | Duration of audio in seconds. 0 and null mean duration is unknown. | Integer (incl. 0) or null if audio_sample is an object.. |
audio_sample.audio_length | Content length of audio file, in bytes. 0 means unknown length. | Integer (incl. 0) if audio_sample is an object.. |
audio_pkgs | Richie-managed alternative format audio packages. Details agreed with integrators. | Object, possibly empty. |
availability_periods | Time frames during which the episode is available in given products. | Array of objects (availability period objects). |
availability_periods[n].product | Product slug. | String or null. |
availability_periods[n].product | Type of the product (free or paid). | "free" or "paid". |
availability_periods[n].product | Start of episode's inclusion in the product. | String (a date). |
availability_periods[n].end_date | End of episode's inclusion in the product. | String (a date). |
rankings | Popularity rankings for the episode. | Object |
rankings.daily | Daily popularity for the episode, if applicable. Lower number means more popular. | Integer or null. |
rankings.weekly | Weekly popularity for the episode, if applicable. Lower number means more popular. | Integer or null. |
rankings.monthly | Monthly popularity for the episode, if applicable. Lower number means more popular. | Integer or null. |
series_tags | Tenant-specific values agreed with the tenant, for the series episode belongs to. | Array of strings. |
tags | Tenant-specific values agreed with the tenant, for the episode. | Array of strings. |
analytics_data | Tenant-specific data carried for analytics purposes. Actual fields agreed with the tenant. | Object or null. |
ad_tags | Tenant-specific data carried for ad purposes. Actual fields agreed with the tenant. | Object or null. |
h | Internal hash code over the payload, not always set. | String or null. |
GET /books/feeds/v3/{tenant_name}/podcast_series/{series_uuid}.json
Get metadata of a podcast series and its episodes. Does not need authentication.
Example response
Schema of "data"
Property | Description | Value |
---|---|---|
guid | Identifier of the series. | UUID |
last_modified | Last time the series object or its episodes changed for any reason. | String (a date). |
rss_feed_url | Original RSS feed URL the series was sourced from. | String (a URL), of source is RSS. Empty for others. |
title | Title of the series. | String |
author | Author of the series. | String |
description | Plain-text description of the series. | String |
html_description | HTML-formatted description of the series, if available. | String or null |
link | "link" value from an RSS series. | String |
publication_date | Initial publication date for the latest episode. | String or null |
copyright | "copyright" value from an RSS series. | String |
publisher | Name of the series' publisher. | String |
tags | Tenant-specific values agreed with the tenant, for the series. | Array of strings. |
categories | Category IDs. | Array of strings. |
episodes | Episodes belonging to the series. | Array of podcast episodes. See podcast_episode endpoint for details. |
rankings | Popularity rankings for the series. | Object |
rankings.daily | Daily popularity for the series, if applicable. Lower number means more popular. | Integer or null. |
rankings.weekly | Weekly popularity for the series, if applicable. Lower number means more popular. | Integer or null. |
rankings.monthly | Monthly popularity for the series, if applicable. Lower number means more popular. | Integer or null. |
cover_url | Cover URL for the series. | An HTTPS URL. |
GET /books/feeds/v3/podcast_categories.json
Get the list of all podcast categories.
Example response
Schema of data
"data"
is an object with category identifiers as keys, with category objects as values.
Property | Description | Value |
---|---|---|
[guid].guid | Identifier of the category. | UUID |
[guid].name | Name of the category. | String |
[guid].order | Number by which the categories should be sorted. | Integer |
[guid].cover_url | Decorative image for the category, if available. | String, possibly empty. |
[guid].parent_category_guid | Identifier of the category containing this category. | String or null. |
GET /books/feeds/v3/{tenant_name}/podcast_series_list.json
Get the list of all podcast series.
Example response
Schema of data
"data"
is an array.
Property | Description | Value |
---|---|---|
[n].guid | Identifier of the series. | UUID |
[n].last_modified | Last time the series object or its episodes changed for any reason. | String (a date). |
GET /audio_art/v1/{tenant_name}/all_articles.json
Get all currently available audio articles, suitable for synchronising with other systems.
Example response
Schema of "data"
"data"
is an array.
Property | Description | Value |
---|---|---|
[n].guid | Identifier of the article. | UUID |
[n].author | Author of the article. | String |
[n].publication_date | Original publication date of the article. | String (a date) |
[n].last_modified | Date of the last editorial modification to the article. | String (a date) |
[n].data_modified | Date of the article was last modified for any reason. Covers technical and expected changes, which `"last_modified"` does not. | String (a date) |
[n].title | Title of the article. | String |
[n].text | Text of the article. | String |
[n].photo_url | URL of the article's photo. | String (an URL) |
[n].photo_caption | Caption of the article's photo. | String |
[n].photo_author | Author of the article's photo. | String |
[n].square_photo_url | URL of the article's photo, guaranteed square. | String (an URL) |
[n].square_photo_caption | Caption of the article's photo, guaranteed square. | String |
[n].square_photo_author | Author of the article's photo, guaranteed square. | String |
[n].original_article_url | URL of the original version of the article. | String (an URL) |
[n].extra | Tenant-specific fields related to the article, to be agreed. | Object |
[n].availability_periods | Time frames during which the article is available in given products. | Array of objects (availability period objects). |
[n].availability_periods[m].product | Product slug. | String or null. |
[n].availability_periods[m].product | Type of the product (free or paid). | "free" or "paid". |
[n].availability_periods[m].product | Start of episode's inclusion in the product. | String (a date). |
[n].availability_periods[m].end_date | End of episode's inclusion in the product. | String (a date). |
[n].analytics_id | An unprocessed identifier propagated from the source system, suitable for associating articles across systems. | String |
[n].source_tags | Tenant-specific fields related to the source configuration, to be agreed. | Array of strings |
[n].rankings | Popularity rankings for the article. | Object |
[n].rankings.daily | Daily popularity for the article, if applicable. Lower number means more popular. | Integer or null. |
[n].rankings.weekly | Weekly popularity for the article, if applicable. Lower number means more popular. | Integer or null. |
[n].rankings.monthly | Monthly popularity for the article, if applicable. Lower number means more popular. | Integer or null. |
[n].categories | Slugs of categories the article belongs to. | Array of strings |
GET /audio_art/v1/{tenant_name}/collections.json
Get currently available collections (categories) of articles.
Example response
Schema of "data"
"data"
is an array.
Property | Description | Value |
---|---|---|
guid | Identifier of the collection. | UUID |
articles | Identifiers of articles belonging to the collection. | Array of UUIDs. |
key | Slug-like identifier of the collection. | String |
display_name | Human readable name for the collection. | String |
GET /audio_art/v1/{tenant_name}/article_compat/{article_id}.json
Get an audio article as a podcast episode (a compatibility endpoint for existing players).
Example response
Schema of "data" (a podcast episode)
"data"
follows the schema for a podcast episode, with some podcast-specific fields left empty.
Property | Description | Value |
---|---|---|
kind | Kind (type) of the resource. | "audio_article" |
source_type | Origin of the "episode". | "article" |
guid | Identifier of the article. | UUID |
series_title | Article author, duplicated. Set for compatibility. | String |
series_guid | Article identifier, duplicated. Set for compatibility. | UUID |
author | Article author. | String |
original_article_url | Original article URL. | String |
title | Article title. | String |
description | Article text. | String |
publication_date | Article's first publication date. | String (a date) |
last_modified | Last time the metadata was updated. | String (a date). |
cover_url | URL for a cover picture. | String (an HTTPS URL). |
photo_author | Author of the related photo. | String |
square_cover_url | URL for a cover picture, guaranteed to be square. | String (an HTTPS URL) or null. |
square_photo_author | URL for a cover picture, guaranteed to be square. | String or null. |
audio_url | Playback URL for the main audio. | String (an HTTPS URL). |
audio_duration | Duration of audio in seconds. 0 and null mean duration is unknown. | Integer (incl. 0) or null. |
audio_length | Content length of audio file, in bytes. 0 means unknown length. | Integer (incl. 0). |
audio_sample | Details of a free sample version for audio. Not available for all articles. | Object or null. |
audio_sample.audio_url | Playback URL for the sample version. | String (an HTTPS URL) if audio_sample is an object. |
audio_sample.audio_duration | Duration of audio in seconds. 0 and null mean duration is unknown. | Integer (incl. 0) or null if audio_sample is an object.. |
audio_sample.audio_length | Content length of audio file, in bytes. 0 means unknown length. | Integer (incl. 0) if audio_sample is an object.. |
audio_pkgs | Richie-managed alternative format audio packages. Details agreed with integrators. | Object, possibly empty. |
availability_periods | Time frames during which the episode is available in given products. | Array of objects (availability period objects). |
availability_periods[n].product | Product slug. | String or null. |
availability_periods[n].product | Type of the product (free or paid). | "free" or "paid". |
availability_periods[n].product | Start of episode's inclusion in the product. | String (a date). |
availability_periods[n].end_date | End of episode's inclusion in the product. | String (a date). |
rankings | Popularity rankings for the article. | Object |
rankings.daily | Daily popularity for the article, if applicable. Lower number means more popular. | Integer or null. |
rankings.weekly | Weekly popularity for the article, if applicable. Lower number means more popular. | Integer or null. |
rankings.monthly | Monthly popularity for the article, if applicable. Lower number means more popular. | Integer or null. |
series_tags | Tenant-specific values agreed with the tenant, for the series article belongs to. | Array of strings. |
tags | Tenant-specific values agreed with the tenant, for the article. | Array of strings. |
analytics_data | Tenant-specific data carried for analytics purposes. Actual fields agreed with the tenant. | Object or null. |
ad_tags | Tenant-specific data carried for ad purposes. Actual fields agreed with the tenant. | Object or null. |
h | Internal hash code over the payload, not always set. | String or null. |