Why did my API endpoint score well with almost no headers?
Because browser-page headers do not apply to it: CSP, framing and nosniff protect rendered pages. An API response is graded on HSTS and cookie flags, which do apply. The other headers are still listed so you can add them if the endpoint also serves browsers.
I have a CSP but it scored zero. Why?
Look at the weaknesses list. The usual reasons: script-src (or default-src) allows * or https:, 'unsafe-inline' without a nonce/hash, no object-src 'none', or no base-uri (default-src does not cover it). A Report-Only policy scores 1 point for being present and nothing for what it would block.
Does this check the TLS configuration too?
No — this tool grades the response headers and cookies. Use the SSL certificate checker for the handshake basics, or the SSL/TLS Security monitor for the full 120-point grade that combines both.