Channels API
Channels represent publishing destinations in Wortfreunde, a blog, a LinkedIn profile, a newsletter, etc. Each channel belongs to a team and contains posts.
Endpoints
| Method |
Endpoint |
Description |
| GET |
/channels |
List all channels |
| GET |
/channels/{id} |
Get a single channel |
List Channels
Retrieve a paginated list of all channels accessible with your API key.
GET /channels
Query Parameters
| Parameter |
Type |
Default |
Description |
page |
integer |
1 |
Page number |
per_page |
integer |
20 |
Items per page (max: 100) |
Example Request
curl -s https://api.wortfreunde.ch/v1/channels \
-H "Authorization: Bearer $WORTFREUNDE_API_KEY" | python3 -m json.tool
Response
{
"data": [
{
"id": 161,
"title": "Blog",
"platform": "git",
"team": {
"id": 42,
"name": "Wortfreunde"
},
"posts_count": 3
},
{
"id": 17,
"title": "LinkedIn",
"platform": "linkedin",
"team": null,
"posts_count": 5
},
],
"meta": {
"page": 1,
"pages": 1,
"count": 5,
"per_page": 20
}
}
Response Fields
| Field |
Type |
Description |
id |
integer |
Unique channel identifier |
title |
string |
Display name of the channel |
platform |
string |
Platform type (see below) |
team |
object \ |
null |
team.id |
integer |
Team identifier |
team.name |
string |
Team display name |
posts_count |
integer |
Number of posts in the channel |
Platform Types
| Platform |
Description |
blog |
Standard blog channel |
git |
Git-backed content (e.g. static site) |
linkedin |
LinkedIn publishing |
Pagination
The meta object contains pagination details:
| Field |
Type |
Description |
page |
integer |
Current page number |
pages |
integer |
Total number of pages |
count |
integer |
Total number of channels |
per_page |
integer |
Items per page |
Get Channel
Retrieve a single channel by its ID.
GET /channels/{id}
Path Parameters
| Parameter |
Type |
Description |
id |
integer |
Channel ID |
Example Request
curl -s https://api.wortfreunde.ch/v1/channels/161 \
-H "Authorization: Bearer $WORTFREUNDE_API_KEY" | python3 -m json.tool
Response
{
"data": {
"id": 161,
"title": "Blog",
"platform": "git",
"team": {
"id": 42,
"name": "Wortfreunde"
},
"posts_count": 3,
"created_at": "2026-02-26T09:34:58.251Z",
"updated_at": "2026-02-26T15:29:05.704Z"
}
}
Response Fields
The single channel response includes all fields from the list response, plus:
| Field |
Type |
Description |
created_at |
string |
ISO 8601 creation timestamp |
image_width |
integer |
Default image width in pixels for this channel |
updated_at |
string |
ISO 8601 last update timestamp |
Error Responses
Channel Not Found
curl -s https://api.wortfreunde.ch/v1/channels/99999 \
-H "Authorization: Bearer $WORTFREUNDE_API_KEY"
{
"error": {
"code": "not_found",
"message": "Resource not found"
}
}
| Status |
Description |
| 401 |
Invalid or missing API key |
| 403 |
Insufficient scopes, requires read:channels |
| 404 |
Channel not found |
| 429 |
Rate limit exceeded |