Skip to content

Document User-Agent header requirement for hosted API#2505

Open
robzolkos wants to merge 1 commit intobasecamp:mainfrom
robzolkos:document-user-agent-requirement
Open

Document User-Agent header requirement for hosted API#2505
robzolkos wants to merge 1 commit intobasecamp:mainfrom
robzolkos:document-user-agent-requirement

Conversation

@robzolkos
Copy link
Contributor

  • Add a note to the API docs that requests to app.fizzy.do must include a descriptive User-Agent header

Python's built-in urllib library sets the User-Agent to Python-urllib/3.x by default. Cloudflare's Browser Integrity Check treats this as a bot signature and blocks the request with a 403 (error code 1010) before it ever reaches the Fizzy application.

This isn't something we can fix in application code — the allow_browser versions: :modern check in Rails allows unknown and missing user agents through fine. The blocking happens entirely at the Cloudflare layer. Self-hosted instances won't have this issue since they won't necessarily have the same infrastructure in front of them.

Setting a descriptive User-Agent (e.g., MyApp/1.0) resolves the issue.

Closes #2436

Add a note to the API docs that requests to app.fizzy.do must include a
descriptive User-Agent header to avoid being blocked by Cloudflare.
@robzolkos robzolkos force-pushed the document-user-agent-requirement branch from b553d31 to 2a18183 Compare February 6, 2026 21:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant