---
title: "Quick Start | Hilfe | Wortfreunde"
description: "Make your first Wortfreunde API calls in minutes"
url: "/de/hilfe/api/getting-started/quick-start"
---

# Hilfe

Hier findet ihr Anleitungen, Erklärungen und alles Wichtige rund um Wortfreunde. Damit ihr das Beste aus eurer Content Arbeit herausholen könnt.

# Quick Start

This guide walks you through your first API calls using curl. By the end, you'll have verified your credentials, listed channels, browsed posts, and fetched a single post.

## Prerequisites

Before starting, ensure you have:

-   A Wortfreunde account
-   An API key ([get one here](/de/hilfe/api/getting-started/authentication))
-   curl installed (available on macOS, Linux, and Windows)

Set your API key as an environment variable so you can copy-paste the examples below:

`export  WORTFREUNDE_API_KEY = " your-api-key-here "`

## Step 1: Check Authentication

First, verify that your API key is valid by calling the `/me` endpoint:

`curl  -s  https://api.wortfreunde.ch/v1/me \  -H  " Authorization: Bearer  $WORTFREUNDE_API_KEY "  |  python3  -m json.tool`

`python3 -m json.tool` formats the JSON response so it's easier to read. You can also use `jq` if you have it installed: `... | jq .`

You should see your account details:

`{    " data " : {      " account " : {        " id " :  3 ,        " name " :  " Wertstifter GmbH "      },      " token " : {        " name " :  " Development Token " ,        " scopes " : [          " read:channels " ,          " read:posts " ,          " read:media "        ],        " expires_at " :  " 2027-03-09T09:53:43.348Z "      }    }  }`

If you get a `401` error, double-check your API key. Make sure the environment variable is set correctly and the key hasn't expired.

## Step 2: List Channels

Now let's see which channels are available in your account:

`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 " :  167 ,              " title " :  " Blog " ,              " platform " :  " blog " ,              " team " :  null ,              " posts_count " : 0          },  }`

Note the channel `id`, you'll need it to list posts for a specific channel.

## Step 3: List Posts

Fetch posts from a channel. Replace `161` with a channel ID from the previous step:

`curl  -s  " https://api.wortfreunde.ch/v1/channels/161/posts  \  -H " Authorization:  Bearer  $WORTFREUNDE_API_KEY " | python3 -m json.tool`

Response:

`{    " data " : [      {          " id " :  214 ,          " title " :  " Warum strukturierte Content-Planung mehr bringt als spontane Posts " ,          " teaser " :  " Montagmorgen. Der Cursor blinkt. Was soll ich heute posten? Dir fällt nichts ein. Also scrollst du durch den Feed, hoffst auf Inspiration. Eine Stunde später: immer noch kein Post. Dafür drei neue Tabs mit Artikeln, die du später lesen willst. Das Problem ist fehlende Struktur. " ,          " slug " :  " strukturierte-content-planung-vs-spontane-posts " ,          " publication_status " :  " published " ,          " created_at " :  " 2026-03-02T16:54:36.465Z " ,          " updated_at " :  " 2026-03-09T05:00:48.275Z " ,          " channel " : {              " id " :  161 ,              " title " :  " Blog " ,              " platform " :  " git " ,              " team " : {                  " id " :  42 ,                  " name " :  " Wortfreunde "              },              " posts_count " : 3          }      },    ],    " pagination " : {      " page " :  1 ,      " limit " :  20 ,      " total " : 42    }  }`

## Step 4: Get Post Detail

Fetch the full details of a single post using its ID:

`curl  -s  https://api.wortfreunde.ch/v1/posts/301 \  -H  " Authorization: Bearer  $WORTFREUNDE_API_KEY "  |  python3  -m json.tool`

Response:

`{    " data " : {      " id " :  214 ,      " title " :  " Warum strukturierte Content-Planung mehr bringt als spontane Posts " ,      " body " :  " ... markdown content ... " ,      " teaser " :  " Montagmorgen. Der Cursor blinkt. Was soll ich heute posten? Dir fällt nichts ein. Also scrollst du durch den Feed, hoffst auf Inspiration. Eine Stunde später: immer noch kein Post. Dafür drei neue Tabs mit Artikeln, die du später lesen willst. Das Problem ist fehlende Struktur. " ,      " slug " :  " strukturierte-content-planung-vs-spontane-posts " ,      " publication_status " :  " published " ,      " created_at " :  " 2026-03-02T16:54:36.465Z " ,      " updated_at " :  " 2026-03-09T05:00:48.275Z " ,      " channel " : {          " id " :  161 ,          " title " :  " Blog " ,          " platform " :  " git " ,          " team " : {              " id " :  42 ,              " name " :  " Wortfreunde "          },          " posts_count " : 3      },      " tags " : [],      " media " : [],      " meta_title " :  " Strukturierte Content-Planung vs. spontane Posts " ,      " meta_description " :  " Erfahre, warum strukturierte Content-Planung mehr Sichtbarkeit und Resonanz bringt als spontane Posts. " ,      " published_at " :  " 2026-03-09T05:00:48.269Z "    }  }`

## Error Handling

If something goes wrong, the API returns a clear error response:

`{    " error " : {      " code " :  " authentication_failed " ,      " message " :  " Invalid API key provided "    }  }`

Common status codes:

Code

Meaning

200

Success

401

Invalid or missing API key

403

Valid key but insufficient scopes

404

Resource not found

429

Rate limit exceeded

## Next Steps

You've successfully made your first API calls:

-   Verified your credentials with `/me`
-   Listed channels with `/channels`
-   Browsed posts with `/channels/:channel_id/posts`
-   Fetched post details with `/channels/:channel_id/posts/:id`

### What's Next?

-   [API Endpoints](/de/hilfe/api/api-reference/endpoints), full endpoint reference
-   [Chromeless Mode](/de/hilfe/api/sso/chromeless-mode), embed Studio pages without navigation