---
title: "Subscribe to a feed by URL."
method: POST
path: "/v1/feeds"
tags: ["Feeds"]
---

# Subscribe to a feed by URL.

`POST /v1/feeds`

## Request

- Base URL: `https://api.inboxy.net`
- URL: `https://api.inboxy.net/v1/feeds`
- Auth: HTTP bearer

Requires `manage` scope. The same source URL is shared across all subscribers (one fetch serves everyone) — but your label and read-state stay private.

## Request body

- FeedCreate
  - `url` string, uri, required
  - `label` string

## Response `201`

Subscribed.

- Feed
  - `id` string, uuid, required: Per-user subscription id. Use this everywhere — the shared feed_sources id is never exposed.
  - `label` string, nullable
  - `url` string, uri, required
  - `title` string, nullable
  - `description` string, nullable
  - `homepage_link` string, nullable
  - `language` string, nullable
  - `status` 'active' | 'error' | 'inactive', required
  - `last_polled_at` integer, nullable: Unix seconds.
  - `last_error` string, nullable
  - `subscribed_at` integer, required
  - `total` integer: Total articles in this feed (across all subscribers).
  - `unread` integer, required: Your unread article count.

## Other responses

- `400`: Malformed request.
- `403`: Token lacks the required scope.
- `409`: Already subscribed.

---

[API](https://skmtc.dev/inboxy/apis/inboxy-api.md) · [All operations](https://skmtc.dev/inboxy/apis/inboxy-api/llms.txt) · [OpenAPI document](https://skmtc.dev/inboxy/apis/inboxy-api/revisions/25155a8dec0f?raw)
