Python
Automate Firmreader from scripts and backend services
The Python SDK targets Python 3.9+ and exposes a synchronous client. An async client is available under firmreader.aio.
Install
pip install firmreader
Initialize the client
import os
from firmreader import Firmreader
client = Firmreader(api_key=os.environ["FIRMREADER_API_KEY"]) # fr_live_...
Create a post
post = client.posts.create(
channel_id="ch_company_news",
title="Welcome to Firmreader",
body="We're excited to announce our new internal communications platform.",
priority="normal",
)
print(f"Published post {post.id}")
List posts
posts = client.posts.list(channel_id="ch_company_news", limit=20)
for post in posts.data:
print(post.title)
Handle errors
Non-2xx responses raise FirmreaderError, which carries the HTTP status and an API code.
from firmreader import FirmreaderError
try:
client.posts.create(channel_id="ch_invalid", title="Hi", body="...")
except FirmreaderError as err:
print(f"{err.status}: {err.code}")
Pass idempotency_key="..." to any write method so retried requests don't create duplicate posts.
