Skip to content

Add / Remove Feed from Bundle

Fresh

These endpoints manage the feed membership within a bundle. Adding a feed makes its content appear in the bundle's combined RSS stream. Removing a feed stops its content from appearing without deleting the feed itself.


Add Feed to Bundle

PUT /v1/bundles/:id/feeds/:feedId

Adds an existing feed to a bundle.

Path Parameters

ParameterTypeRequiredDescription
idstringYesThe bundle ID
feedIdstringYesThe feed ID to add

Code Example

js
const axios = require('axios');

const apiClient = axios.create({
  baseURL: 'https://api.rss.app/v1',
  headers: {
    Authorization: 'Bearer YOUR_API_KEY:YOUR_API_SECRET',
  },
});

await apiClient.put('/bundles/bundle_xyz789/feeds/feed_new111');
console.log('Feed added to bundle');

Adding multiple feeds:

js
async function addFeedsToBundle(bundleId, feedIds) {
  for (const feedId of feedIds) {
    await apiClient.put(`/bundles/${bundleId}/feeds/${feedId}`);
    console.log(`Added feed ${feedId}`);
  }
}

await addFeedsToBundle('bundle_xyz789', [
  'feed_new111',
  'feed_new222',
  'feed_new333',
]);

Response

HTTP 200 on success.

Error Responses

StatusMeaning
401Authentication failed
404Bundle not found or feed not found
409Feed is already a member of this bundle

Remove Feed from Bundle

DELETE /v1/bundles/:id/feeds/:feedId

Removes a feed from a bundle. The feed itself is not deleted — it remains in your account and can be added to other bundles.

Path Parameters

ParameterTypeRequiredDescription
idstringYesThe bundle ID
feedIdstringYesThe feed ID to remove

Code Example

js
await apiClient.delete('/bundles/bundle_xyz789/feeds/feed_old222');
console.log('Feed removed from bundle');

Removing all feeds from a bundle:

js
async function clearBundle(bundleId) {
  const bundleResponse = await apiClient.get(`/bundles/${bundleId}`);
  const feedIds = bundleResponse.data.feeds;

  for (const feedId of feedIds) {
    await apiClient.delete(`/bundles/${bundleId}/feeds/${feedId}`);
    console.log(`Removed feed ${feedId}`);
  }

  console.log(`Bundle ${bundleId} cleared`);
}

Replacing bundle feeds:

js
async function replaceBundleFeeds(bundleId, newFeedIds) {
  // Get current members
  const current = await apiClient.get(`/bundles/${bundleId}`);
  const existingIds = current.data.feeds;

  // Remove feeds not in the new list
  const toRemove = existingIds.filter((id) => !newFeedIds.includes(id));
  for (const feedId of toRemove) {
    await apiClient.delete(`/bundles/${bundleId}/feeds/${feedId}`);
  }

  // Add new feeds not already present
  const toAdd = newFeedIds.filter((id) => !existingIds.includes(id));
  for (const feedId of toAdd) {
    await apiClient.put(`/bundles/${bundleId}/feeds/${feedId}`);
  }

  console.log(`Bundle updated: removed ${toRemove.length}, added ${toAdd.length}`);
}

Response

HTTP 200 on success.

Error Responses

StatusMeaning
401Authentication failed
404Bundle not found or feed not in this bundle

RSS.app API Documentation