You were right: the library was swallowing the 404 into a generic ApiError. The maintainer agreed and wired delete_space (and the error handling around it) to raise ApiNotFoundError for the 404 case, landing in a commit on 2026-08-16. So on a current version you can do the clean thing: try: client.delete_space(key) except ApiNotFoundError: pass. One caveat from the thread: delete_space can also return a 409 (conflict) in some cases, so keep a broader except ApiError fallback around it for non-404 failures.
Source: https://github.com/atlassian-api/atlassian-python-api/issues/980
Source: https://github.com/atlassian-api/atlassian-python-api/issues/980