Hey @minhhung0507
Great questions, let me answer as per my understanding:
Q1: Why do we need to use an interactive (all‑purpose) cluster when submitting a job, rather than a job cluster?
As I'm testing, it's a matter of convenience, nothing more, I couldn't wait to run the job till a job cluster spins up, hence using an interactive cluster. As I figured out you're using a job cluster to pass the request, I suggested to use a different parameter in the JSON payload.
Q2: I can’t find any reference to a parameter called job_cluster_details in the official docs—could you point me to where it’s documented or share a link?
I was checking the RestAPI docs and from the link below, saw how the job_cluster is being referenced. Suggested the same to you.

In the example above, "auto_scaling_cluster" is the name of the job cluster.
Link to the doc - https://docs.databricks.com/api/workspace/jobs/get
Also, check this API for repair run, I believe this would be the right URL to hit for your usecase.
https://docs.databricks.com/api/workspace/jobs/repairrun
Let me know your thoughts.
Riz