API
An overview of the Feedjolt REST API: JSON over HTTPS with bearer-token auth. Covers the base URL, interactive reference, conventions, and v1 versioning.
The Feedjolt API is a REST API over JSON. The full endpoint reference is in progress; this section covers the behaviors that apply across all endpoints.
Base URL
https://api.feedjolt.com/api/v1Interactive reference
The full endpoint reference, with try-it-yourself, lives at:
It's auto-generated from the FastAPI service - always current. The OpenAPI 3.x JSON is at https://www.feedjolt.com/openapi.json (also https://api.feedjolt.com/openapi.json). YAML: https://www.feedjolt.com/api/openapi.yaml.
What's on these pages
The cross-cutting behaviors that apply to every endpoint:
- Authentication - API keys, where to put the bearer token.
- Rate limits - what we allow, how to handle 429s.
- Errors - error shape, codes, what to retry.
- Pagination - page-based, with totals.
For per-endpoint detail (request body shape, query params, response schema), the interactive reference above is the source of truth.
Coming soon
- First-party SDKs - TypeScript and Python.
Vote on the public roadmap if they'd unblock you.
Quick taste
A typical call:
curl -H "Authorization: Bearer fjk_YOUR_KEY" \
-H "Content-Type: application/json" \
"https://api.feedjolt.com/api/v1/boards/feature-requests/posts?per_page=10"Response:
{
"items": [
{ "id": "post_abc", "title": "Add dark mode", "votes": 42, "status": "Planned" }
],
"page": 1,
"per_page": 10,
"total": 213,
"total_pages": 22
}Status
| Resource | CRUD | Notes |
|---|---|---|
| Posts | ✅ | List, get, create, update, delete, merge. |
| Comments | ✅ | List, get, create, update, delete. Internal-comment scope required for internal. |
| Votes | ✅ | List, cast (toggle). |
| Boards | ✅ read, ⚠️ write | Create/edit boards via dashboard for now. |
| Statuses | ✅ | |
| Tags | ✅ | |
| Members | ✅ | List, invite, change role, remove. |
| Webhooks | ✅ | Endpoints, deliveries, replay. |
| API keys | ✅ | List + revoke (creation is dashboard-only). |
| Workspaces | ⚠️ read | Workspace settings via dashboard. |
| Billing | ❌ | Dashboard only. |
Conventions
- Times are ISO 8601, UTC,
Zsuffix. - IDs are short prefixed strings:
post_abc,cmt_xyz,evt_qrs. Never integers. - Slugs are URL-safe stable identifiers (workspace, board, tag). Prefer these for human-facing URLs.
- Booleans are JSON
true/false, not strings. - Nullables use
null, not omitted keys, when documented. - Empty lists are
[], notnull.
Versioning
/api/v1 is the current version. We won't break v1 - we'll ship v2 on a new path when we need to make breaking changes. Field additions to v1 are non-breaking and may happen anytime.
Webhook retries and idempotency
How Feedjolt handles webhook delivery failures today: one attempt, delivery logs, manual replay, and how to build idempotent, out-of-order-safe handlers.
API authentication
Authenticate the Feedjolt API with API keys sent as a Bearer token in the Authorization header. Create, scope, and revoke keys - server-to-server only.
