As far as I know, there are only two "reasons" for closing an issue: completed (used to be the only option) and not_planned.
These arrive in webhook payloads for the issue-closed event under issue.state_reason. I have not yet investigated what this looks like in the REST API.