DEV Community podcast_episodes API
The podcast_episodes API from DEV Community — 2 operation(s) for podcast_episodes.
The podcast_episodes API from DEV Community — 2 operation(s) for podcast_episodes.
openapi: 3.0.3
info:
title: Forem API V1 agent_sessions podcast_episodes API
version: 1.0.0
description: "Access Forem articles, users and other resources via API.\n For a real-world example of Forem in action, check out [DEV](https://www.dev.to).\n All endpoints can be accessed with the 'api-key' header and a accept header, but\n some of them are accessible publicly without authentication.\n\n Dates and date times, unless otherwise specified, must be in\n the [RFC 3339](https://tools.ietf.org/html/rfc3339) format."
servers:
- url: https://dev.to/api
description: Production server
security:
- api-key: []
tags:
- name: podcast_episodes
paths:
/api/podcast_episodes:
get:
summary: Podcast Episodes
security: []
tags:
- podcast_episodes
description: "This endpoint allows the client to retrieve a list of podcast episodes.\n \"Podcast episodes\" are episodes belonging to podcasts.\n It will only return active (reachable) podcast episodes that belong to published podcasts available on the platform, ordered by descending publication date.\n It supports pagination, each page will contain 30 articles by default."
operationId: getPodcastEpisodes
parameters:
- $ref: '#/components/parameters/pageParam'
- $ref: '#/components/parameters/perPageParam30to1000'
- name: username
in: query
required: false
description: Using this parameter will retrieve episodes belonging to a specific podcast.
schema:
type: string
example: codenewbie
responses:
'200':
description: A List of Podcast episodes filtered by username
content:
application/json:
example:
- type_of: podcast_episodes
class_name: PodcastEpisode
id: 42
path: /codenewbie/slug-2
title: '2'
image_url: /uploads/podcast/image/55/d8d761be-e588-4e8c-90af-5dbbebb3abfa.jpeg
podcast:
title: Hennepin
slug: codenewbie
image_url: /uploads/podcast/image/55/d8d761be-e588-4e8c-90af-5dbbebb3abfa.jpeg
schema:
type: array
items:
$ref: '#/components/schemas/PodcastEpisodeIndex'
'404':
description: Unknown Podcast username
content:
application/json:
example:
error: not found
status: 404
/podcast_episodes:
get:
summary: Podcast Episodes
security: []
tags:
- podcast_episodes
description: "This endpoint allows the client to retrieve a list of podcast episodes.\n \"Podcast episodes\" are episodes belonging to podcasts.\n It will only return active (reachable) podcast episodes that belong to published podcasts available on the platform, ordered by descending publication date.\n It supports pagination, each page will contain 30 articles by default."
operationId: getPodcastEpisodes
parameters:
- $ref: '#/components/parameters/pageParam'
- $ref: '#/components/parameters/perPageParam30to1000'
- name: username
in: query
required: false
description: Using this parameter will retrieve episodes belonging to a specific podcast.
schema:
type: string
example: codenewbie
responses:
'200':
description: A List of Podcast episodes filtered by username
content:
application/json:
example:
- type_of: podcast_episodes
class_name: PodcastEpisode
id: 4
path: /codenewbie/slug-4
title: '5'
image_url: /uploads/podcast/image/8/624a3c09-8036-43e4-9187-4cbf6d3c1fd6.jpeg
podcast:
title: Maudite
slug: codenewbie
image_url: /uploads/podcast/image/8/624a3c09-8036-43e4-9187-4cbf6d3c1fd6.jpeg
schema:
type: array
items:
$ref: '#/components/schemas/PodcastEpisodeIndex'
'404':
description: Unknown Podcast username
content:
application/json:
example:
error: not found
status: 404
components:
schemas:
PodcastEpisodeIndex:
description: Representation of a podcast episode returned in a list
type: object
properties:
type_of:
type: string
id:
type: integer
format: int32
class_name:
type: string
path:
type: string
format: path
title:
type: string
image_url:
description: Podcast episode image url or podcast image url
type: string
format: url
podcast:
$ref: '#/components/schemas/SharedPodcast'
required:
- type_of
- class_name
- id
- path
- title
- image_url
- podcast
SharedPodcast:
description: The podcast that the resource belongs to
type: object
properties:
title:
type: string
slug:
type: string
image_url:
description: Podcast image url
type: string
format: url
parameters:
pageParam:
in: query
name: page
required: false
description: Pagination page
schema:
type: integer
format: int32
minimum: 1
default: 1
perPageParam30to1000:
in: query
name: per_page
required: false
description: Page size (the number of items to return per page). The default maximum value can be overridden by "API_PER_PAGE_MAX" environment variable.
schema:
type: integer
format: int32
minimum: 1
maximum: 1000
default: 30
securitySchemes:
api-key:
type: apiKey
name: api-key
in: header
description: "API Key authentication.\n\nAuthentication for some endpoints, like write operations on the\nArticles API require a DEV API key.\n\nAll authenticated endpoints are CORS disabled, the API key is intended for non-browser scripts.\n\n### Getting an API key\n\nTo obtain one, please follow these steps:\n\n - visit https://dev.to/settings/extensions\n - in the \"DEV API Keys\" section create a new key by adding a\n description and clicking on \"Generate API Key\"\n\n \n\n - You'll see the newly generated key in the same view\n "