### Making a GET Request (Example: Subscriptions) Source: https://github.com/feedbin/feedbin-api/blob/master/README.md Demonstrates how to make a GET request to the Feedbin API using cURL, including authentication. ```APIDOC ## GET /subscriptions.json ### Description Retrieves a list of subscriptions. ### Method GET ### Endpoint `https://api.feedbin.com/v2/subscriptions.json` ### Parameters #### Query Parameters - **per_page** (integer) - Optional - Number of items per page. ### Request Example ```shell curl -u 'example@example.com:password' https://api.feedbin.com/v2/subscriptions.json ``` ``` -------------------------------- ### Response Example for Feed Icons Source: https://github.com/feedbin/feedbin-api/blob/master/content/icons.md This is an example of the JSON response when requesting feed icons. Each object contains the host of the feed and the URL to its favicon. ```json [ { "host": "m.signalvnoise.com", "url": "https://favicons.feedbinusercontent.com/27a/27a62660e820f80421e1e57551b070e6e42e52d4.png" }, { "host": "github.blog", "url": "https://favicons.feedbinusercontent.com/19a/19ae11001100ad1497fba45580a546b022c2a8d3.png" } ] ``` -------------------------------- ### Feed Entries Response Example Source: https://github.com/feedbin/feedbin-api/blob/master/content/entries.md An example JSON response structure for a paginated list of feed entries, including details like ID, feed ID, title, URL, and content. ```json [{"id": 3648, "feed_id": 203, "title": "Cleveland Drinkup February 6", "url": "https:\/\/github.com\/blog\/1398-cleveland-drinkup-february-6", "extracted_content_url": "https://extract.feedbin.com/parser/feedbin/9197b49979d10d5012130f8b456bd5bd040d3206?base64_url=aHR0cDovL3d3dy5jcmFpZ2tlcnN0aWVucy5jb20vMjAxNy8wMy8xMi9nZXR0aW5nLXN0YXJ0ZWQtd2l0aC1qc29uYi1pbi1wb3N0Z3Jlcy8=", "author": "juliamae", "content": "
Cleveland
! Let's ![]()
![]()
![]()
![]()
in one of Ohio's greatest cities, Cleveland!\n<\/p>\n\n
Join @asenchi<\/a> and me Wednesday at the Great Lakes Brewing Company Taproom<\/a>, drinks on GitHub.\n<\/p>\n\n The Facts: <\/strong><\/p>\n\n Bavarious<\/a> created a GitHub repository<\/a> that shows the differences between versions of Apple
<0xE2><0x80><0x99>s Objective-C runtime<\/a> that shipped with different versions of Mac OS X. <\/p>",
"summary": "Bavarious created a GitHub repository that shows the differences between versions of Apple
<0xE2><0x80><0x99>s Objective-C runtime that shipped with different versions of Mac OS X.",
"published": "2013-02-03T01:00:19.000000Z",
"created_at": "2013-02-04T01:00:19.127893Z"
}
]
```
```
--------------------------------
### GET /v2/imports.json
Source: https://github.com/feedbin/feedbin-api/blob/master/content/imports.md
Retrieves a list of all imports associated with the authenticated user.
```APIDOC
## GET /v2/imports.json
### Description
Returns all imports for a user.
### Method
GET
### Endpoint
https://api.feedbin.com/v2/imports.json
### Response
#### Success Response (200)
- **id** (integer) - The unique identifier for the import.
- **complete** (boolean) - Indicates if the import process is fully completed.
- **created_at** (string) - The timestamp when the import was created.
#### Response Example
```json
[
{
"id": 1,
"complete": true,
"created_at": "2019-05-16T19:58:59.214Z"
},
{
"id": 2,
"complete": false,
"created_at": "2019-05-16T20:01:12.090Z"
}
]
```
```
--------------------------------
### Create a New Page Entry
Source: https://github.com/feedbin/feedbin-api/blob/master/content/pages.md
Use this cURL command to create a new page entry in Feedbin by providing the URL and an optional title. Ensure you replace 'example@example.com:password' with your actual credentials.
```bash
curl --request POST \
--user "example@example.com:password" \
--header "Content-Type: application/json; charset=utf-8" \
--data-ascii '{"url": "https://feedbin.com/blog/2018/09/11/private-by-default/", "title": "Private by Default"}' \
https://api.feedbin.com/v2/pages.json
```
--------------------------------
### Get Starred Entry IDs
Source: https://github.com/feedbin/feedbin-api/blob/master/content/starred-entries.md
Retrieves a list of all starred entry IDs for the authenticated user. This is the first step before fetching the actual entry content.
```bash
curl --request GET \
--user "example@example.com:password" \
https://api.feedbin.com/v2/starred_entries.json
```
--------------------------------
### Get Subscription Response
Source: https://github.com/feedbin/feedbin-api/blob/master/content/subscriptions.md
The response received after a successful subscription creation (201 Created or 302 Found), showing the subscription details.
```json
{
"id": 4105850,
"created_at": "2017-10-28T14:30:39.324314Z",
"feed_id": 838741,
"title": "Daring Fireball",
"feed_url": "https://daringfireball.net/feeds/main",
"site_url": "https://daringfireball.net/"
}
```
--------------------------------
### Get All Subscriptions
Source: https://github.com/feedbin/feedbin-api/blob/master/content/subscriptions.md
Retrieves all subscriptions for the authenticated user. Supports filtering by 'since' date and 'mode'.
```json
[
{
"id": 525,
"created_at": "2013-03-12T11:30:25.209432Z",
"feed_id": 47,
"title": "Daring Fireball",
"feed_url": "http://daringfireball.net/index.xml",
"site_url": "http://daringfireball.net/"
}
]
```
```http
GET /v2/subscriptions.json?since=2013-03-08T09:44:20.449047Z
```
```http
GET /v2/subscriptions.json?mode=extended
```
--------------------------------
### Get Multiple Entries with Enclosures
Source: https://github.com/feedbin/feedbin-api/blob/master/content/entries.md
Retrieves a list of entries, with an option to include enclosure information. This is useful for entries that contain media files like audio or video.
```APIDOC
## GET /v2/entries.json?include_enclosure=true
### Description
Retrieves a list of entries, with an option to include enclosure information.
### Method
GET
### Endpoint
`/v2/entries.json`
### Parameters
#### Query Parameters
- **include_enclosure** (boolean) - Optional - If true, includes enclosure information for entries that have them.
### Response
#### Success Response (200 OK)
A JSON array of entry objects. Each entry object may contain an `enclosure` field if `include_enclosure` is true and the entry has enclosures.
#### Error Response
- **403 Forbidden**: Returned if the user does not subscribe to the feeds these entries belong to.
### Request Example
`GET /v2/entries.json?include_enclosure=true`
### Response Example (200 OK)
(Response will be an array of entry objects, potentially with enclosure details. Example structure for an entry with enclosure):
```json
[
{
"id": 12345,
"feed_id": 67,
"title": "Podcast Episode",
"url": "http://example.com/podcast",
"author": "Podcast Host",
"content": " Listen to the latest episode! Gorgeous new interface in this major update to Rogue Amoeba’s venerable audio recording app. This is one of the best takes on Yosemite-style design I’ve seen. <\/p> See also: <\/strong> Jason Snell’s take on the app and interview with Paul Kafasis<\/a>. <\/p>
<\/p>\n\n\n
<\/a> <\/p>", "summary": null, "published": "2013-02-03T01:00:19.000000Z", "created_at": "2013-02-04T01:00:19.127893Z"}]
```
--------------------------------
### Making a POST Request (Example: Create Subscription)
Source: https://github.com/feedbin/feedbin-api/blob/master/README.md
Illustrates how to make a POST request to create a new subscription, including setting the Content-Type header.
```APIDOC
## POST /subscriptions.json
### Description
Creates a new subscription.
### Method
POST
### Endpoint
`https://api.feedbin.com/v2/subscriptions.json`
### Parameters
#### Request Body
- **feed_url** (string) - Required - The URL of the feed to subscribe to.
### Request Example
```shell
curl -u 'example@example.com:password' \
-H "Content-Type: application/json; charset=utf-8" \
-X POST -d '{"feed_url":"http://daringfireball.net"}' \
https://api.feedbin.com/v2/subscriptions.json
```
```
--------------------------------
### Fetch Subscriptions using cURL
Source: https://github.com/feedbin/feedbin-api/blob/master/README.md
Demonstrates how to fetch subscriptions using cURL with HTTP Basic authentication. Replace 'example@example.com:password' with your actual credentials.
```shell
curl -u 'example@example.com:password' https://api.feedbin.com/v2/subscriptions.json
```
--------------------------------
### Get All Imports
Source: https://github.com/feedbin/feedbin-api/blob/master/content/imports.md
Retrieve a list of all import operations associated with the authenticated user. Each import entry indicates its completion status and creation time.
```bash
curl --request GET --user "example@example.com:password" https://api.feedbin.com/v2/imports.json
```
--------------------------------
### GET /v2/entries.json
Source: https://github.com/feedbin/feedbin-api/blob/master/content/entries.md
Returns a paginated array of all entries for the user, with various filtering and inclusion options.
```APIDOC
## GET /v2/entries.json
### Description
Returns a paginated array of all entries for the user. The entry attributes vary from the original feed in several ways. Links and image sources are rewritten to always point to the fully qualified URL. This means sanitizing/escaping content is up to you. The `published` date is converted to UTC.
### Method
GET
### Endpoint
/v2/entries.json
### Parameters
#### Query Parameters
- **page** (number) - Optional - Gets a specific page of entries. Example: `GET /v2/entries.json?page=2`
- **since** (date) - Optional - Gets all entries created after the ISO 8601 timestamp. Example: `GET /v2/entries.json?since=2013-02-02T14:07:33.000000Z`
- **ids** (number(s)) - Optional - Gets entries with the specified IDs. A maximum of 100 entries can be requested. Example: `GET /v2/entries.json?ids=1,2,3`
- **read** (boolean) - Optional - Filters entries to show only unread ones. Example: `GET /v2/entries.json?read=false`
- **starred** (boolean) - Optional - Filters entries to show only starred ones. Example: `GET /v2/entries.json?starred=true`
- **per_page** (number) - Optional - Limits the number of results per page. Example: `GET /v2/entries.json?per_page=50`
- **mode** (enum) - Optional - The only mode available is `extended`, which includes more metadata for the entry. Example: `GET /v2/entries.json?mode=extended`
- **include_original** (boolean) - Optional - Includes original entry data if the entry has been updated. Example: `GET /v2/entries.json?include_original=true`
- **include_enclosure** (boolean) - Optional - Includes podcast/RSS enclosure data. Example: `GET /v2/entries.json?include_enclosure=true`
- **include_content_diff** (boolean) - Optional - Includes a diff of changed content. The result is HTML marked up to show differences. Example: `GET /v2/entries.json?include_content_diff=true`
### Request Example
```bash
curl --request GET --user "example@example.com:password" https://api.feedbin.com/v2/entries.json
```
### Response
#### Success Response (200)
- **id** (number) - The unique identifier for the entry.
- **feed_id** (number) - The identifier of the feed the entry belongs to.
- **title** (string) - The title of the entry. Can be null.
- **url** (string) - The URL of the entry.
- **extracted_content_url** (string) - A URL to fetch the extracted content.
- **author** (string) - The author of the entry. Can be null.
- **content** (string) - The extracted HTML content of the entry. Can be null.
- **summary** (string) - A summary of the entry.
- **published** (string) - The publication date of the entry in UTC.
- **created_at** (string) - The timestamp when the entry was created in Feedbin.
#### Response Example
```json
[
{
"id": 2077,
"feed_id": 135,
"title": "Objective-C Runtime Releases",
"url": "http:\/\/mjtsai.com\/blog\/2013\/02\/02\/objective-c-runtime-releases\/",
"extracted_content_url": "https://extract.feedbin.com/parser/feedbin/9197b49979d10d5012130f8b456bd5bd040d3206?base64_url=aHR0cDovL3d3dy5jcmFpZ2tlcnN0aWVucy5jb20vMjAxNy8wMy8xMi9nZXR0aW5nLXN0YXJ0ZWQtd2l0aC1qc29uYi1pbi1wb3N0Z3Jlcy8=",
"author": "Michael Tsai",
"content": "