Tried to use several different API endpoints as described in the link, but they all return 403 with a cloudflare “Just a moment…” html reply. Even tried copying an existing jwt token from a working logged-in browser but the same thing still happens.

Any idea what I could be doing wrong?

curl -v --request POST \
     --url https://programming.dev/api/v3/user/login \
     --header 'accept: application/json' \
     --header 'content-type: application/json' \
     --data '{"username_or_email": "redacted", "password": "redacted"}'
...
< HTTP/2 403
...
<!DOCTYPE html><html lang="en-US"><head><title>Just a moment...</title>
...
      • pe1uca@lemmy.pe1uca.dev
        link
        fedilink
        arrow-up
        2
        arrow-down
        1
        ·
        6 months ago

        Bots on Lemmy are allowed, that’s why the API exists.
        Bots on programming.dev seems are not allowed since all endpoints require to pass CF.