integrations.sh
← all integrations

ContentDepot

OpenAPI apis-guru media

ContentDepot hosts a range of API’s that allow clients to manage, discover, and obtain content. The API spans many parts of the ContentDepot functionality including MetaPub (a.k.a. metadata distribution) and content management.

MetaPub

MetaPub collects, normalizes and distributes publicly available program, episode, and piece metadata through the public radio system. Backed by ContentDepot and its data model, MetaPub allows producers to supply metadata through various methods:

  1. MetaPub Agents that collect producer metadata by "crawling" existing public feeds (e.g. C24, BBC) or the producer's production system (e.g. ATC, ME, TED Radio Hour).
  2. Manually enter metadata in the ContentDepot Portal on each program and episode.
  3. Publish/push the metadata to the MetaPub upload API and execute an ingest job.

MetaPub then distributes this data to stations through an electronic program guide (EPG model) for display on various listener devices such as smart phones, tablets, web streams, HD radios, RDBS enabled FM radios, and more. The EPG format is based on the RadioDNS specifications.

RadioDNS

The RadioDNS Service and Programme Information Specification () defines three primary documents: Service Information, Program Information, and Group Information. These documents, along with the core RadioDNS Hybrid Lookup for Radio Services Specification (), define a system where an end listener device can dynamically discover program metadata and fetch the metadata via Internet Protocol (IP) requests. MetaPub's use of RadioDNS differs slightly in that MetaPub (a.k.a PRSS) acts as the "service provider" while the stations and related middleware act as the end devices. While this is not the primary use case of RadioDNS, the flexibility in the specification, service definitions, and DNS resolution allows this model to be easily represented. MetaPub provides both National Metadata and Station Metadata.

It is strongly recommended that the related be read for implementation details, definitions, and required XML schemas.

ContentDepot Drive

ContentDepot Drive (CD Drive) provides a private, per customer file storage solution similar to other cloud storage solutions such as Google Drive, Box, and Dropbox. The CD Drive is used to stage content uploads such as metadata files, images, or segment audio before associating the content with specific programs or episodes.

CD Drive content can be referenced using a URI by some operations such as synchronizing metadata. There are two possible CD Drive URI formats supported: ID and hierarchical path. The ID reference takes the form cddrive:id:{value} where value is the integer ID of the file or folder being referenced. The hierarchical path reference takes the form cddrive://{path} where path is the full, UNIX style path to the file or folder starting with '/'. For example, two CD Drive URIs pointing to the same file may be cddrive:id:12345 and cddrive:///show1/episode2/metadata.xml. More information about URIs can be found at .

Authentication

The API currently uses OAuth 2.0. All operations require cd:full access where the client access is only limited by the permissions of the ContentDepot user after authentication. Limiting access scope per client is not currently supported.

Homepage
https://api.apis.guru/v2/specs/prss.org/2.0.0.json
Provider
prss.org
OpenAPI version
2.0
Spec (JSON)
https://api.apis.guru/v2/specs/prss.org/2.0.0/openapi.json
Spec (YAML)
https://api.apis.guru/v2/specs/prss.org/2.0.0/openapi.yaml

Tools (38)

Extracted live via the executor SDK.

  • broadcastServices.getApiV2Broadcastservices

    Gets broadcast services matching the given criteria.

  • broadcastServices.getApiV2BroadcastservicesId

    Returns the broadcast service matching the given ID.

  • cdDrive.deleteApiV2CddriveFilesFileId

    Delete a file from the customer's private CD Drive.

  • cdDrive.deleteApiV2CddriveFoldersFolderId

    Delete a file from the customer's private CD Drive.

  • cdDrive.getApiV2CddriveFilesFileId

    Get the information about a file in the customer's private CD Drive.

  • cdDrive.getApiV2CddriveFilesFileIdContent

    Download a file from the customer's private CD Drive.

  • cdDrive.getApiV2CddriveFoldersFolderId

    Get the information about a folder in the customer's private CD Drive.

  • cdDrive.getApiV2CddriveFoldersFolderIdItems

    Get the information about a folder in the customer's private CD Drive.

  • cdDrive.postApiV2CddriveFilesContent

    Upload a file to the customer's private CD Drive.

  • cdDrive.postApiV2CddriveFolders

    Create a new folder in the customer's private CD Drive.

  • episodes.getApiV2Episodes

    Gets episodes matching the given criteria.

  • episodes.getApiV2EpisodesId

    Returns the episode matching the given ID.

  • metaPub.getApiV2MetapubProgramInformationBatchBatchId

    Gets the batch information which can be used to check the status of the operation or retrieve more details if the batch fails.

  • metaPub.postApiV2MetapubProgramInformationBatch

    Create a batch to process the metadata of one or more electronic program guide (EPG) programs using metadata that has been uploaded to the customer's CD Drive. If multiple EPG programs are present in the metadata, they will all be updated, however updates across programs are not atomic. Note that an EPG program maps to the ContentDepot concept of an episode which is also known as a "program instance".

    A batch operation must be explicitly created rather than the server attempting to detect new metadata in order to allow for all the content to be uploaded including any supporting content like images. A batch operation is accepted and queued for asynchronous processing at a later time. A client can poll the batch periodically to determine when it completes and the resulting state.

  • pieces.deleteApiV2PiecesId

    Deletes the piece with the given ID.

  • pieces.getApiV2Pieces

    Returns the pieces matching the query parameters.

  • pieces.getApiV2PiecesId

    Returns the piece matching the given ID.

  • pieces.postApiV2Pieces

    Create a new piece.

  • programs.getApiV2ProgramsId

    Returns the program matching the given ID.

  • programs.getApiV2ProgramsSearch

    Optimized free-text search for programs using various filters.

  • radioDns.getRadiodnsSpi31GiXml

    The group information (GI) document allows programs to be put into groups such as serials, series, shows, or general themes and provide additional metadata for that group such as a description, links, and a logo. A program in the guide can be linked to its group using the "memberOf" field to allow clients to easily link programs together for a given Content Depot Program/Show in the EPG. GI will be published for all Content Depot programs that have the "publish metadata" option enabled. By using the group information, clients have the ability to access a single list of all metadata supported program titles, links, images, and descriptions. This information can be used to assist a station when setting up a schedule or it can be used in the end user metadata to provide additional information about the content such as displaying "other episodes from this program" or displaying the group, program, and program event images.

    Currently all programs with "publish metadata" enabled will be included in the group information even if they are not active in the program guide. This may change in the future if the number of programs grows.

    Note that while the location of the GI document isn't expected to change in the near future, as per the RadioDNS specification the authoritative link to the document is defined in the SI document with the mime value application/xml+gi.

    The response will use standard HTTP cache-control headers to indicate when the document should be refreshed as well as an ETag to allow for lightweight change detection.

  • radioDns.getRadiodnsSpi31IdFqdnSidDatePiXml

    The program information (PI) document holds the linear and the on-demand schedule of programs for a service over a 24 hour period. This information provides an electronic program guide (EPG) to clients that defines the program metadata such as:

    • Names
    • Descriptions
    • Logos
    • Links
    • Genres
    • Program Events (a.k.a. pieces)

    MetaPub provides both National PI documents and Station PI documents. For both documents, only programs with metadata publishing enabled are listed in the document. As per the RadioDNS specification, the authoritative list of services is defined in the corresponding SI document.

    The National PI documents correspond to the services listed in the National SI document (streams and files). This EPG contains two types of programming, live and on-demand (a.k.a files). A "live with subsequent file (LWSF)" program may appear in both the streams and files services EPG data because it will both a live stream and an on-demand file. File programs with multi-day air windows will appear in the PI file on every day that the air window is open. That is, the EPG data for each day contains the information about programming available that day, even if the programming is also available on other days. The program ID can be used to resolve these duplicates down to a single instance when processing multiple services or multiple days of EPG data.

    The Station PI documents correspond to the services listed in the Station SI document, and list program and schedule metadata for programs which are subscribed to by the given service. Note that stations may opt into "static" metadata publishing (station and broadcast service metadata) but not "dynamic" metadata publishing (program and schedule metadata). If this is the case, a service that is listed in the Station SI document will not have a corresponding PI document, and a 404 status code will be returned.

    Each PI document will contain 24 hours of program guide information. The current day, the previous day, and the next day will contain detailed program event information (a.k.a. Content Depot pieces) while PI files outside of this range will only contain the program (a.k.a Content Depot episode) level information. This may change in the future with the use of an API key as defined by the RadioDNS specification to identify "trusted" clients. If metadata for any program in the guide(s) changes, the PI document will be regenerated. Using standard HTTP cache mechanisms, the PI document for the current day can be fetched frequently (e.g. every 5 minutes) to receive last minute changes while future and past days will only be fetched and processed occasionally (e.g. every two hours).

    By obtaining the full 24 hour guide, clients such as middleware can build a local database/lookup table of program and program event information that allows for more specific program selection based on user configuration, automation events, and other possible inputs. In the event that MetaPub is unreachable for a short period of time, the client has the full guide to prevent any interruption to the on-air broadcast.

    Construction of the URL to the PI document is described in section 10.3. Currently, MetaPub only supports PI URLs constructed from SPI SI, as described in section 7.

    The response will use standard HTTP cache-control headers to indicate when the document should be refreshed as well as an ETag to allow for lightweight change detection.

  • radioDns.getRadiodnsSpi31SiXml

    The service information (SI) document holds a definition of services provided by the service provider (e.g. MetaPub), including any relevant metadata and bearer details, such as:

    • Names
    • Descriptions
    • Logos
    • Bearers (broadcast and IP)

    MetaPub provides two SI documents. The National SI document describes the distribution services provided by PRSS including basic service metadata, logos, and bearers. The current design defines two IP based services, although this may change in the future:

    • Streams
      • Bearer ID: prss:streams
      • Service ID: streams
    • Files
      • Bearer ID: prss:files
      • Service ID: files

    The Station SI document describes the stations and broadcast services served by PRSS. Only stations and broadcast services that have opted into metadata publishing are listed in this document.

    Based on section 10.2.4, the SI document will be placed in a defined location on the service website. Using standard HTTP cache mechanisms, the SI document will only need to be fetched and processed occasionally.

    The response will use standard HTTP cache-control headers to indicate when the document should be refreshed as well as an ETag to allow for lightweight change detection.

  • segments.deleteApiV2SegmentsId

    Deletes the segment with the given ID.

  • segments.getApiV2Segments

    Returns the segments matching the query parameters.

  • segments.getApiV2SegmentsId

    Returns the segment matching the given ID.

  • segments.getApiV2SegmentsIdContent

    UNDER DEVELOPMENT - Returns the audio content segment matching the given ID.

  • segments.postApiV2Segments

    Creates a new segment.

  • spotInsertions.deleteApiV2SpotinsertionsId

    Deletes the spot insertion with the given ID.

  • spotInsertions.getApiV2Spotinsertions

    Returns the spot insertions matching the query parameters.

  • spotInsertions.getApiV2SpotinsertionsId

    Returns the spot insertion matching the given ID.

  • spotInsertions.postApiV2Spotinsertions

    Creates a new spot insertion.

  • spots.deleteApiV2SpotsId

    Deletes the spot with the given ID.

  • spots.getApiV2Spots

    Returns the spots matching the query parameters.

  • spots.getApiV2SpotsId

    Returns the spot matching the given ID.

  • spots.postApiV2Spots

    Creates a new spot.

  • openapi.previewSpec

    Preview an OpenAPI document before adding it as a source

  • openapi.addSource

    Add an OpenAPI source and register its operations as tools