How to read process status information in Camunda?

I want to build simple approval process; let say two levels of approval. So I will have:

start=>approval 1=>approval2=>end

I call rest from application to initiate process:

process-definition/key/approval-test-process/start

In result I get:

{
    "links": [
        {
            "method": "GET",
            "href": "http://localhost:8080/engine-rest/process-instance/11193cac-8c9e-11eb-a1a7-049226bdb658",
            "rel": "self"
        }
    ],
    "id": "11193cac-8c9e-11eb-a1a7-049226bdb658",
    "definitionId": "approval-test-process:2:ab34d9fa-8c03-11eb-81fa-049226bdb658",
    "businessKey": null,
    "caseInstanceId": null,
    "ended": false,
    "suspended": false,
    "tenantId": null
}

Is there any method to get current state of the process (reached ‘approval2’ level or still waits for approval1?) ? All the time using same ID or other variable. Without reading all task and getting right ID.
How do you handle that?
Regards

It depends on the level of detail you’re looking for.
If there’s a global status, you could set it as a variable, update it as the process passes through milestones for-instances and then query the instance (or better businesskey) for the variable in question.

Alternatively you could just query for any active activity instances for a given process instance id

Yes, depends. But is there any REST method to read status of ALL tasks at once from process?

Yes.

Or for just user tasks you can check this.

Thank you.
Really hard to start with Camunda. What I understood is that it would be right approach to build some external query process that fetch list of tasks from all nodes of process and build a list in application?

In other way I would have to query each taks in diagram and that would be pain.

So Camunda is rather to distribute messages but not to inintiate some processes/jobs in external system (mainly because of performance reason) - right?