Add Python client, profile endpoint, and functional test

- remarkbox_client.py: stdlib-only Python client with cookie
  persistence, 3-tier config (args/env/file), CLI mode
- GET/PATCH /api/v1/user/profile: read and update display name
- GET /api/v1/clients/python: serve client for curl/wget download
- functional_test.py: idempotent live test that maintains a
  journey thread documenting each run
- Remove email2 spam honeypot from API (not useful for agents)
- Bump content limit to 500k chars (~128k tokens)
This commit is contained in:
russell@unturf.com 2026-02-01 16:39:19 -05:00
parent 9d59a3ca8a
commit 5a10e155bd
8 changed files with 1287 additions and 4 deletions

View file

@ -189,7 +189,7 @@ Request body:
- `namespace` (required)
- `title` (required)
- `data` (required, max 50000 chars)
- `data` (required, max 500000 chars)
- `anonymous_name` (optional, used when namespace allows anonymous)
- `email` (optional, creates an unverified user)
@ -219,7 +219,7 @@ Request body:
}
```
- `data` (required, max 50000 chars)
- `data` (required, max 500000 chars)
- `anonymous_name` (optional)
- `email` (optional)
@ -361,7 +361,7 @@ All errors return a JSON body with an `error` key:
| Status | Meaning |
|--------|---------|
| 400 | Bad request (missing params, content too long) |
| 401 | Authentication required or spam detected |
| 401 | Authentication required |
| 403 | Forbidden (locked thread, disabled node, namespace opt-out) |
| 404 | Not found (or API globally disabled) |
| 429 | Rate limit exceeded |