{
  "_type": "export",
  "__export_format": 4,
  "__export_date": "2025-01-01T00:00:00.000Z",
  "__export_source": "insomnia.desktop.app:v10.0.0",
  "resources": [
    {
      "_id": "wrk_boringrss",
      "_type": "workspace",
      "parentId": null,
      "name": "SlashFeed API",
      "description": "SlashFeed REST API v1, Miniflux-compatible API, and Fever API"
    },
    {
      "_id": "env_base",
      "_type": "environment",
      "parentId": "wrk_boringrss",
      "name": "Base Environment",
      "data": {
        "base_url": "http://localhost:3500",
        "api_token": "sk_live_your_token_here",
        "feed_id": "REPLACE_WITH_FEED_ID",
        "entry_id": "REPLACE_WITH_ENTRY_ID",
        "category_id": "REPLACE_WITH_CATEGORY_ID",
        "tag_id": "REPLACE_WITH_TAG_ID"
      }
    },

    {
      "_id": "grp_rest_v1",
      "_type": "request_group",
      "parentId": "wrk_boringrss",
      "name": "REST API v1"
    },
    {
      "_id": "grp_miniflux",
      "_type": "request_group",
      "parentId": "wrk_boringrss",
      "name": "Miniflux API"
    },
    {
      "_id": "grp_fever",
      "_type": "request_group",
      "parentId": "wrk_boringrss",
      "name": "Fever API"
    },

    {
      "_id": "grp_v1_account",
      "_type": "request_group",
      "parentId": "grp_rest_v1",
      "name": "Account"
    },
    {
      "_id": "grp_v1_feeds",
      "_type": "request_group",
      "parentId": "grp_rest_v1",
      "name": "Feeds"
    },
    {
      "_id": "grp_v1_entries",
      "_type": "request_group",
      "parentId": "grp_rest_v1",
      "name": "Entries"
    },
    {
      "_id": "grp_v1_categories",
      "_type": "request_group",
      "parentId": "grp_rest_v1",
      "name": "Categories"
    },
    {
      "_id": "grp_v1_tags",
      "_type": "request_group",
      "parentId": "grp_rest_v1",
      "name": "Tags"
    },
    {
      "_id": "grp_v1_stats",
      "_type": "request_group",
      "parentId": "grp_rest_v1",
      "name": "Stats"
    },

    {
      "_id": "req_001",
      "_type": "request",
      "parentId": "grp_v1_account",
      "name": "Get Current User",
      "method": "GET",
      "url": "{{ base_url }}/api/v1/me",
      "headers": [
        { "name": "Authorization", "value": "Bearer {{ api_token }}" },
        { "name": "Content-Type", "value": "application/json" }
      ],
      "body": {},
      "parameters": [],
      "description": "Returns the authenticated user's profile."
    },

    {
      "_id": "req_010",
      "_type": "request",
      "parentId": "grp_v1_feeds",
      "name": "List Feeds",
      "method": "GET",
      "url": "{{ base_url }}/api/v1/feeds",
      "headers": [
        { "name": "Authorization", "value": "Bearer {{ api_token }}" },
        { "name": "Content-Type", "value": "application/json" }
      ],
      "body": {},
      "parameters": [
        { "name": "limit", "value": "10" },
        {
          "name": "starting_after",
          "value": "{{ user_feed_id }}",
          "disabled": true
        },
        {
          "name": "ending_before",
          "value": "{{ user_feed_id }}",
          "disabled": true
        }
      ],
      "description": "List all feeds the current user is subscribed to. Stripe-style cursor pagination — see docs/api.md."
    },
    {
      "_id": "req_011",
      "_type": "request",
      "parentId": "grp_v1_feeds",
      "name": "Subscribe to Feed",
      "method": "POST",
      "url": "{{ base_url }}/api/v1/feeds",
      "headers": [
        { "name": "Authorization", "value": "Bearer {{ api_token }}" },
        { "name": "Content-Type", "value": "application/json" }
      ],
      "body": {
        "mimeType": "application/json",
        "text": "{\"url\": \"https://example.com/feed.xml\", \"category_id\": null}"
      },
      "parameters": [],
      "description": "Subscribe to a new feed by URL."
    },
    {
      "_id": "req_012",
      "_type": "request",
      "parentId": "grp_v1_feeds",
      "name": "Get Feed",
      "method": "GET",
      "url": "{{ base_url }}/api/v1/feeds/{{ feed_id }}",
      "headers": [
        { "name": "Authorization", "value": "Bearer {{ api_token }}" },
        { "name": "Content-Type", "value": "application/json" }
      ],
      "body": {},
      "parameters": [],
      "description": "Get details of a single subscribed feed."
    },
    {
      "_id": "req_013",
      "_type": "request",
      "parentId": "grp_v1_feeds",
      "name": "Unsubscribe from Feed",
      "method": "DELETE",
      "url": "{{ base_url }}/api/v1/feeds/{{ feed_id }}",
      "headers": [
        { "name": "Authorization", "value": "Bearer {{ api_token }}" },
        { "name": "Content-Type", "value": "application/json" }
      ],
      "body": {},
      "parameters": [],
      "description": "Unsubscribe from a feed."
    },
    {
      "_id": "req_014",
      "_type": "request",
      "parentId": "grp_v1_feeds",
      "name": "Refresh Feed",
      "method": "POST",
      "url": "{{ base_url }}/api/v1/feeds/{{ feed_id }}/refresh",
      "headers": [
        { "name": "Authorization", "value": "Bearer {{ api_token }}" },
        { "name": "Content-Type", "value": "application/json" }
      ],
      "body": {},
      "parameters": [],
      "description": "Trigger an immediate background refresh for a feed."
    },

    {
      "_id": "req_020",
      "_type": "request",
      "parentId": "grp_v1_entries",
      "name": "List Entries",
      "method": "GET",
      "url": "{{ base_url }}/api/v1/entries",
      "headers": [
        { "name": "Authorization", "value": "Bearer {{ api_token }}" },
        { "name": "Content-Type", "value": "application/json" }
      ],
      "body": {},
      "parameters": [
        { "name": "unread_only", "value": "true", "disabled": true },
        { "name": "limit", "value": "10" },
        {
          "name": "starting_after",
          "value": "{{ entry_id }}",
          "disabled": true
        },
        { "name": "ending_before", "value": "{{ entry_id }}", "disabled": true }
      ],
      "description": "List entries with optional filters and Stripe-style cursor pagination."
    },
    {
      "_id": "req_021",
      "_type": "request",
      "parentId": "grp_v1_entries",
      "name": "List Entries (Feed)",
      "method": "GET",
      "url": "{{ base_url }}/api/v1/entries",
      "headers": [
        { "name": "Authorization", "value": "Bearer {{ api_token }}" },
        { "name": "Content-Type", "value": "application/json" }
      ],
      "body": {},
      "parameters": [
        { "name": "feed_id", "value": "{{ feed_id }}" },
        { "name": "limit", "value": "10" },
        {
          "name": "starting_after",
          "value": "{{ entry_id }}",
          "disabled": true
        }
      ],
      "description": "List entries filtered to a specific feed."
    },
    {
      "_id": "req_022",
      "_type": "request",
      "parentId": "grp_v1_entries",
      "name": "Get Entry",
      "method": "GET",
      "url": "{{ base_url }}/api/v1/entries/{{ entry_id }}",
      "headers": [
        { "name": "Authorization", "value": "Bearer {{ api_token }}" },
        { "name": "Content-Type", "value": "application/json" }
      ],
      "body": {},
      "parameters": [],
      "description": "Get a single entry including full content."
    },
    {
      "_id": "req_023",
      "_type": "request",
      "parentId": "grp_v1_entries",
      "name": "Mark Entry as Read",
      "method": "POST",
      "url": "{{ base_url }}/api/v1/entries/{{ entry_id }}/read",
      "headers": [
        { "name": "Authorization", "value": "Bearer {{ api_token }}" },
        { "name": "Content-Type", "value": "application/json" }
      ],
      "body": {},
      "parameters": [],
      "description": "Mark an entry as read."
    },
    {
      "_id": "req_024",
      "_type": "request",
      "parentId": "grp_v1_entries",
      "name": "Mark Entry as Unread",
      "method": "DELETE",
      "url": "{{ base_url }}/api/v1/entries/{{ entry_id }}/read",
      "headers": [
        { "name": "Authorization", "value": "Bearer {{ api_token }}" },
        { "name": "Content-Type", "value": "application/json" }
      ],
      "body": {},
      "parameters": [],
      "description": "Mark an entry as unread."
    },
    {
      "_id": "req_025",
      "_type": "request",
      "parentId": "grp_v1_entries",
      "name": "Bulk Mark as Read",
      "method": "POST",
      "url": "{{ base_url }}/api/v1/entries/read",
      "headers": [
        { "name": "Authorization", "value": "Bearer {{ api_token }}" },
        { "name": "Content-Type", "value": "application/json" }
      ],
      "body": {
        "mimeType": "application/json",
        "text": "{\"entry_ids\": [\"ENTRY_ID_1\", \"ENTRY_ID_2\"]}"
      },
      "parameters": [],
      "description": "Bulk mark multiple entries as read."
    },

    {
      "_id": "req_030",
      "_type": "request",
      "parentId": "grp_v1_categories",
      "name": "List Categories",
      "method": "GET",
      "url": "{{ base_url }}/api/v1/categories",
      "headers": [
        { "name": "Authorization", "value": "Bearer {{ api_token }}" },
        { "name": "Content-Type", "value": "application/json" }
      ],
      "body": {},
      "parameters": [
        { "name": "limit", "value": "10" },
        {
          "name": "starting_after",
          "value": "{{ category_id }}",
          "disabled": true
        },
        {
          "name": "ending_before",
          "value": "{{ category_id }}",
          "disabled": true
        }
      ],
      "description": "List the current user's feed categories. Stripe-style cursor pagination — see docs/api.md."
    },
    {
      "_id": "req_031",
      "_type": "request",
      "parentId": "grp_v1_categories",
      "name": "Create Category",
      "method": "POST",
      "url": "{{ base_url }}/api/v1/categories",
      "headers": [
        { "name": "Authorization", "value": "Bearer {{ api_token }}" },
        { "name": "Content-Type", "value": "application/json" }
      ],
      "body": {
        "mimeType": "application/json",
        "text": "{\"name\": \"Tech\", \"color\": \"#3b82f6\"}"
      },
      "parameters": [],
      "description": "Create a new category."
    },
    {
      "_id": "req_032",
      "_type": "request",
      "parentId": "grp_v1_categories",
      "name": "Update Category",
      "method": "PUT",
      "url": "{{ base_url }}/api/v1/categories/{{ category_id }}",
      "headers": [
        { "name": "Authorization", "value": "Bearer {{ api_token }}" },
        { "name": "Content-Type", "value": "application/json" }
      ],
      "body": {
        "mimeType": "application/json",
        "text": "{\"name\": \"Technology\", \"color\": \"#6366f1\"}"
      },
      "parameters": [],
      "description": "Update a category's name, color, or position."
    },
    {
      "_id": "req_033",
      "_type": "request",
      "parentId": "grp_v1_categories",
      "name": "Delete Category",
      "method": "DELETE",
      "url": "{{ base_url }}/api/v1/categories/{{ category_id }}",
      "headers": [
        { "name": "Authorization", "value": "Bearer {{ api_token }}" },
        { "name": "Content-Type", "value": "application/json" }
      ],
      "body": {},
      "parameters": [],
      "description": "Delete a category. Feeds are moved to uncategorised."
    },

    {
      "_id": "req_040",
      "_type": "request",
      "parentId": "grp_v1_tags",
      "name": "List Tags",
      "method": "GET",
      "url": "{{ base_url }}/api/v1/tags",
      "headers": [
        { "name": "Authorization", "value": "Bearer {{ api_token }}" },
        { "name": "Content-Type", "value": "application/json" }
      ],
      "body": {},
      "parameters": [
        { "name": "limit", "value": "10" },
        { "name": "starting_after", "value": "{{ tag_id }}", "disabled": true },
        { "name": "ending_before", "value": "{{ tag_id }}", "disabled": true }
      ],
      "description": "List all tags created by the current user. Stripe-style cursor pagination — see docs/api.md."
    },
    {
      "_id": "req_041",
      "_type": "request",
      "parentId": "grp_v1_tags",
      "name": "Create Tag",
      "method": "POST",
      "url": "{{ base_url }}/api/v1/tags",
      "headers": [
        { "name": "Authorization", "value": "Bearer {{ api_token }}" },
        { "name": "Content-Type", "value": "application/json" }
      ],
      "body": {
        "mimeType": "application/json",
        "text": "{\"name\": \"Must Read\", \"color\": \"#f59e0b\"}"
      },
      "parameters": [],
      "description": "Create a new tag."
    },
    {
      "_id": "req_042",
      "_type": "request",
      "parentId": "grp_v1_tags",
      "name": "Delete Tag",
      "method": "DELETE",
      "url": "{{ base_url }}/api/v1/tags/{{ tag_id }}",
      "headers": [
        { "name": "Authorization", "value": "Bearer {{ api_token }}" },
        { "name": "Content-Type", "value": "application/json" }
      ],
      "body": {},
      "parameters": [],
      "description": "Delete a tag. All entry and feed associations are removed."
    },

    {
      "_id": "req_050",
      "_type": "request",
      "parentId": "grp_v1_stats",
      "name": "Get Reading Stats",
      "method": "GET",
      "url": "{{ base_url }}/api/v1/stats",
      "headers": [
        { "name": "Authorization", "value": "Bearer {{ api_token }}" },
        { "name": "Content-Type", "value": "application/json" }
      ],
      "body": {},
      "parameters": [],
      "description": "Returns reading statistics for the current user."
    },

    {
      "_id": "req_100",
      "_type": "request",
      "parentId": "grp_miniflux",
      "name": "Get Current User",
      "method": "GET",
      "url": "{{ base_url }}/v1/me",
      "headers": [
        { "name": "X-Auth-Token", "value": "{{ api_token }}" },
        { "name": "Content-Type", "value": "application/json" }
      ],
      "body": {},
      "parameters": [],
      "description": "Miniflux: current user profile."
    },
    {
      "_id": "req_101",
      "_type": "request",
      "parentId": "grp_miniflux",
      "name": "List Feeds",
      "method": "GET",
      "url": "{{ base_url }}/v1/feeds",
      "headers": [
        { "name": "X-Auth-Token", "value": "{{ api_token }}" },
        { "name": "Content-Type", "value": "application/json" }
      ],
      "body": {},
      "parameters": [],
      "description": "Miniflux: list subscribed feeds."
    },
    {
      "_id": "req_102",
      "_type": "request",
      "parentId": "grp_miniflux",
      "name": "Subscribe to Feed",
      "method": "POST",
      "url": "{{ base_url }}/v1/feeds",
      "headers": [
        { "name": "X-Auth-Token", "value": "{{ api_token }}" },
        { "name": "Content-Type", "value": "application/json" }
      ],
      "body": {
        "mimeType": "application/json",
        "text": "{\"feed_url\": \"https://example.com/feed.xml\", \"category_id\": 0}"
      },
      "parameters": [],
      "description": "Miniflux: subscribe to a feed."
    },
    {
      "_id": "req_103",
      "_type": "request",
      "parentId": "grp_miniflux",
      "name": "Get Feed",
      "method": "GET",
      "url": "{{ base_url }}/v1/feeds/{{ feed_id }}",
      "headers": [
        { "name": "X-Auth-Token", "value": "{{ api_token }}" },
        { "name": "Content-Type", "value": "application/json" }
      ],
      "body": {},
      "parameters": [],
      "description": "Miniflux: get a single feed."
    },
    {
      "_id": "req_104",
      "_type": "request",
      "parentId": "grp_miniflux",
      "name": "Delete Feed",
      "method": "DELETE",
      "url": "{{ base_url }}/v1/feeds/{{ feed_id }}",
      "headers": [
        { "name": "X-Auth-Token", "value": "{{ api_token }}" },
        { "name": "Content-Type", "value": "application/json" }
      ],
      "body": {},
      "parameters": [],
      "description": "Miniflux: unsubscribe from feed."
    },
    {
      "_id": "req_105",
      "_type": "request",
      "parentId": "grp_miniflux",
      "name": "Get Feed Entries",
      "method": "GET",
      "url": "{{ base_url }}/v1/feeds/{{ feed_id }}/entries",
      "headers": [
        { "name": "X-Auth-Token", "value": "{{ api_token }}" },
        { "name": "Content-Type", "value": "application/json" }
      ],
      "body": {},
      "parameters": [
        { "name": "status", "value": "unread" },
        { "name": "limit", "value": "50" }
      ],
      "description": "Miniflux: entries for a specific feed."
    },
    {
      "_id": "req_106",
      "_type": "request",
      "parentId": "grp_miniflux",
      "name": "List Entries",
      "method": "GET",
      "url": "{{ base_url }}/v1/entries",
      "headers": [
        { "name": "X-Auth-Token", "value": "{{ api_token }}" },
        { "name": "Content-Type", "value": "application/json" }
      ],
      "body": {},
      "parameters": [
        { "name": "status", "value": "unread" },
        { "name": "limit", "value": "50" },
        { "name": "offset", "value": "0" }
      ],
      "description": "Miniflux: all entries (paginated)."
    },
    {
      "_id": "req_107",
      "_type": "request",
      "parentId": "grp_miniflux",
      "name": "Get Entry",
      "method": "GET",
      "url": "{{ base_url }}/v1/entries/{{ entry_id }}",
      "headers": [
        { "name": "X-Auth-Token", "value": "{{ api_token }}" },
        { "name": "Content-Type", "value": "application/json" }
      ],
      "body": {},
      "parameters": [],
      "description": "Miniflux: get a single entry."
    },
    {
      "_id": "req_108",
      "_type": "request",
      "parentId": "grp_miniflux",
      "name": "Bulk Update Entry Status",
      "method": "PUT",
      "url": "{{ base_url }}/v1/entries",
      "headers": [
        { "name": "X-Auth-Token", "value": "{{ api_token }}" },
        { "name": "Content-Type", "value": "application/json" }
      ],
      "body": {
        "mimeType": "application/json",
        "text": "{\"entry_ids\": [1, 2, 3], \"status\": \"read\"}"
      },
      "parameters": [],
      "description": "Miniflux: bulk update entry status."
    },
    {
      "_id": "req_109",
      "_type": "request",
      "parentId": "grp_miniflux",
      "name": "List Categories",
      "method": "GET",
      "url": "{{ base_url }}/v1/categories",
      "headers": [
        { "name": "X-Auth-Token", "value": "{{ api_token }}" },
        { "name": "Content-Type", "value": "application/json" }
      ],
      "body": {},
      "parameters": [],
      "description": "Miniflux: list categories."
    },
    {
      "_id": "req_110",
      "_type": "request",
      "parentId": "grp_miniflux",
      "name": "Create Category",
      "method": "POST",
      "url": "{{ base_url }}/v1/categories",
      "headers": [
        { "name": "X-Auth-Token", "value": "{{ api_token }}" },
        { "name": "Content-Type", "value": "application/json" }
      ],
      "body": {
        "mimeType": "application/json",
        "text": "{\"title\": \"Tech\"}"
      },
      "parameters": [],
      "description": "Miniflux: create a category."
    },
    {
      "_id": "req_111",
      "_type": "request",
      "parentId": "grp_miniflux",
      "name": "Update Category",
      "method": "PUT",
      "url": "{{ base_url }}/v1/categories/{{ category_id }}",
      "headers": [
        { "name": "X-Auth-Token", "value": "{{ api_token }}" },
        { "name": "Content-Type", "value": "application/json" }
      ],
      "body": {
        "mimeType": "application/json",
        "text": "{\"title\": \"Technology\"}"
      },
      "parameters": [],
      "description": "Miniflux: update a category."
    },
    {
      "_id": "req_112",
      "_type": "request",
      "parentId": "grp_miniflux",
      "name": "Delete Category",
      "method": "DELETE",
      "url": "{{ base_url }}/v1/categories/{{ category_id }}",
      "headers": [
        { "name": "X-Auth-Token", "value": "{{ api_token }}" },
        { "name": "Content-Type", "value": "application/json" }
      ],
      "body": {},
      "parameters": [],
      "description": "Miniflux: delete a category."
    },
    {
      "_id": "req_113",
      "_type": "request",
      "parentId": "grp_miniflux",
      "name": "Get Version",
      "method": "GET",
      "url": "{{ base_url }}/v1/version",
      "headers": [
        { "name": "X-Auth-Token", "value": "{{ api_token }}" },
        { "name": "Content-Type", "value": "application/json" }
      ],
      "body": {},
      "parameters": [],
      "description": "Miniflux: server version info."
    },

    {
      "_id": "req_200",
      "_type": "request",
      "parentId": "grp_fever",
      "name": "Fever — List Feeds",
      "method": "POST",
      "url": "{{ base_url }}/fever",
      "headers": [
        { "name": "Content-Type", "value": "application/x-www-form-urlencoded" }
      ],
      "body": {
        "mimeType": "application/x-www-form-urlencoded",
        "params": [
          { "name": "api_key", "value": "YOUR_MD5_KEY_HERE" },
          { "name": "feeds", "value": "" }
        ]
      },
      "parameters": [],
      "description": "Fever API: list all feeds. Compute api_key = MD5(email:fever_password). Use Settings → Fever API to set your password."
    },
    {
      "_id": "req_201",
      "_type": "request",
      "parentId": "grp_fever",
      "name": "Fever — List Unread Items",
      "method": "POST",
      "url": "{{ base_url }}/fever",
      "headers": [
        { "name": "Content-Type", "value": "application/x-www-form-urlencoded" }
      ],
      "body": {
        "mimeType": "application/x-www-form-urlencoded",
        "params": [
          { "name": "api_key", "value": "YOUR_MD5_KEY_HERE" },
          { "name": "items", "value": "" },
          { "name": "unread_item_ids", "value": "" }
        ]
      },
      "parameters": [],
      "description": "Fever API: list unread item IDs and items."
    },
    {
      "_id": "req_202",
      "_type": "request",
      "parentId": "grp_fever",
      "name": "Fever — Mark as Read",
      "method": "POST",
      "url": "{{ base_url }}/fever",
      "headers": [
        { "name": "Content-Type", "value": "application/x-www-form-urlencoded" }
      ],
      "body": {
        "mimeType": "application/x-www-form-urlencoded",
        "params": [
          { "name": "api_key", "value": "YOUR_MD5_KEY_HERE" },
          { "name": "mark", "value": "item" },
          { "name": "as", "value": "read" },
          { "name": "id", "value": "ITEM_INTEGER_ID" }
        ]
      },
      "parameters": [],
      "description": "Fever API: mark an item as read using its mapped integer ID."
    },
    {
      "_id": "req_203",
      "_type": "request",
      "parentId": "grp_fever",
      "name": "Fever — List Groups",
      "method": "POST",
      "url": "{{ base_url }}/fever",
      "headers": [
        { "name": "Content-Type", "value": "application/x-www-form-urlencoded" }
      ],
      "body": {
        "mimeType": "application/x-www-form-urlencoded",
        "params": [
          { "name": "api_key", "value": "YOUR_MD5_KEY_HERE" },
          { "name": "groups", "value": "" }
        ]
      },
      "parameters": [],
      "description": "Fever API: list groups (categories)."
    },
    {
      "_id": "req_204",
      "_type": "request",
      "parentId": "grp_fever",
      "name": "Fever — Save for Later (Kindling)",
      "method": "POST",
      "url": "{{ base_url }}/fever",
      "headers": [
        { "name": "Content-Type", "value": "application/x-www-form-urlencoded" }
      ],
      "body": {
        "mimeType": "application/x-www-form-urlencoded",
        "params": [
          { "name": "api_key", "value": "YOUR_MD5_KEY_HERE" },
          { "name": "mark", "value": "item" },
          { "name": "as", "value": "saved" },
          { "name": "id", "value": "ITEM_INTEGER_ID" }
        ]
      },
      "parameters": [],
      "description": "Fever API: save an item for later (kindling)."
    }
  ]
}
