Get agent approval
curl --request GET \
--url https://api.truthlocks.com/v1/approvals/{approvalID} \
--header 'X-API-Key: <api-key>'const options = {method: 'GET', headers: {'X-API-Key': '<api-key>'}};
fetch('https://api.truthlocks.com/v1/approvals/{approvalID}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.truthlocks.com/v1/approvals/{approvalID}"
headers = {"X-API-Key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.truthlocks.com/v1/approvals/{approvalID}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-API-Key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"agent_id": "<string>",
"requested_by": "<string>",
"status": "pending",
"expires_at": "2023-11-07T05:31:56Z",
"required_approvals": 5,
"current_approvals": 5,
"decisions": [
{
"reviewer_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"decision": "approved",
"reason": "<string>",
"created_at": "2023-11-07T05:31:56Z"
}
],
"tenant_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"action": "<string>",
"resource": "<string>",
"scope": "<string>",
"justification": "<string>",
"decision_reason": "<string>",
"risk_level": "low",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"decided_at": "2023-11-07T05:31:56Z",
"decided_by": "<string>"
}Agent approvals (MAIP)
Get agent approval
Returns the request and immutable reviewer history. Expired pending requests are reported as expired even before any decision attempt.
GET
/
v1
/
approvals
/
{approvalID}
Get agent approval
curl --request GET \
--url https://api.truthlocks.com/v1/approvals/{approvalID} \
--header 'X-API-Key: <api-key>'const options = {method: 'GET', headers: {'X-API-Key': '<api-key>'}};
fetch('https://api.truthlocks.com/v1/approvals/{approvalID}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.truthlocks.com/v1/approvals/{approvalID}"
headers = {"X-API-Key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.truthlocks.com/v1/approvals/{approvalID}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-API-Key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"agent_id": "<string>",
"requested_by": "<string>",
"status": "pending",
"expires_at": "2023-11-07T05:31:56Z",
"required_approvals": 5,
"current_approvals": 5,
"decisions": [
{
"reviewer_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"decision": "approved",
"reason": "<string>",
"created_at": "2023-11-07T05:31:56Z"
}
],
"tenant_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"action": "<string>",
"resource": "<string>",
"scope": "<string>",
"justification": "<string>",
"decision_reason": "<string>",
"risk_level": "low",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"decided_at": "2023-11-07T05:31:56Z",
"decided_by": "<string>"
}Returns the request and immutable reviewer history. Expired pending requests are reported as expired even before any decision attempt.
See independent agent reviews for the authorization and execution boundaries.
Authorizations
apiKeybearerAuth
Path Parameters
UUID returned when the approval request was created.
Response
Recorded result
Authenticated requester: human user UUID or api_key:; never a caller-supplied reviewer.
Available options:
pending, approved, rejected, expired, cancelled Required range:
1 <= x <= 10Required range:
0 <= x <= 10Immutable individual reviews. The queue response leaves this empty; get the request for its complete review history.
Show child attributes
Show child attributes
Available options:
low, medium, high, critical Final reviewer or requester cancelling the request; absent while pending.

