Claim Sidecar Review
curl --request POST \
--url https://use.hoop.dev/api/sidecars/reviews/{id}/claim \
--header 'hoop-sidecar-token: <hoop-sidecar-token>'import requests
url = "https://use.hoop.dev/api/sidecars/reviews/{id}/claim"
headers = {"hoop-sidecar-token": "<hoop-sidecar-token>"}
response = requests.post(url, headers=headers)
print(response.text)const options = {method: 'POST', headers: {'hoop-sidecar-token': '<hoop-sidecar-token>'}};
fetch('https://use.hoop.dev/api/sidecars/reviews/{id}/claim', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://use.hoop.dev/api/sidecars/reviews/{id}/claim",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_HTTPHEADER => [
"hoop-sidecar-token: <hoop-sidecar-token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://use.hoop.dev/api/sidecars/reviews/{id}/claim"
req, _ := http.NewRequest("POST", url, nil)
req.Header.Add("hoop-sidecar-token", "<hoop-sidecar-token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://use.hoop.dev/api/sidecars/reviews/{id}/claim")
.header("hoop-sidecar-token", "<hoop-sidecar-token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://use.hoop.dev/api/sidecars/reviews/{id}/claim")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["hoop-sidecar-token"] = '<hoop-sidecar-token>'
response = http.request(request)
puts response.read_body{
"forward": false,
"review": {
"access_duration": 0,
"access_request_rule_name": "default-access-request-rule",
"created_at": "2024-07-25T15:56:35.317601Z",
"force_approval_groups": [
"sre-team"
],
"id": "9F9745B4-C77B-4D52-84D3-E24F67E3623C",
"listener_name": "appdb",
"min_approvals": 2,
"rejection_reason": "This command is not allowed in production.",
"review_groups_data": [
{
"forced_review": false,
"group": "sre",
"id": "20A5AABE-C35D-4F04-A5A7-C856EE6C7703",
"review_date": "2024-07-25T19:36:41Z",
"reviewed_by": {
"email": "john.wick@bad.org",
"id": "D5BFA2DD-7A09-40AE-AFEB-C95787BA9E90",
"name": "John Wick",
"slack_id": "U053ELZHB53"
},
"status": "APPROVED"
}
],
"revoke_at": "",
"session": "35DB0A2F-E5CE-4AD8-A308-55C3108956E5",
"sidecar_id": "5F5E5C6E-6C3A-4E9A-9E8B-2D6A7F1B0C4D",
"status": "PENDING",
"time_window": {
"configuration": {
"end_time": "18:00",
"start_time": "09:00"
},
"type": "time_range"
},
"type": "onetime"
}
}{
"message": "the error description"
}{
"message": "the error description"
}{
"message": "the error description"
}{
"message": "the error description"
}Sidecars
Claim Sidecar Review
Answer a sidecar waiting on one review it filed. An approved review is consumed once and releases the statement; any other status is returned as it stands. It never files a review.
POST
/
sidecars
/
reviews
/
{id}
/
claim
Claim Sidecar Review
curl --request POST \
--url https://use.hoop.dev/api/sidecars/reviews/{id}/claim \
--header 'hoop-sidecar-token: <hoop-sidecar-token>'import requests
url = "https://use.hoop.dev/api/sidecars/reviews/{id}/claim"
headers = {"hoop-sidecar-token": "<hoop-sidecar-token>"}
response = requests.post(url, headers=headers)
print(response.text)const options = {method: 'POST', headers: {'hoop-sidecar-token': '<hoop-sidecar-token>'}};
fetch('https://use.hoop.dev/api/sidecars/reviews/{id}/claim', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://use.hoop.dev/api/sidecars/reviews/{id}/claim",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_HTTPHEADER => [
"hoop-sidecar-token: <hoop-sidecar-token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://use.hoop.dev/api/sidecars/reviews/{id}/claim"
req, _ := http.NewRequest("POST", url, nil)
req.Header.Add("hoop-sidecar-token", "<hoop-sidecar-token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://use.hoop.dev/api/sidecars/reviews/{id}/claim")
.header("hoop-sidecar-token", "<hoop-sidecar-token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://use.hoop.dev/api/sidecars/reviews/{id}/claim")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["hoop-sidecar-token"] = '<hoop-sidecar-token>'
response = http.request(request)
puts response.read_body{
"forward": false,
"review": {
"access_duration": 0,
"access_request_rule_name": "default-access-request-rule",
"created_at": "2024-07-25T15:56:35.317601Z",
"force_approval_groups": [
"sre-team"
],
"id": "9F9745B4-C77B-4D52-84D3-E24F67E3623C",
"listener_name": "appdb",
"min_approvals": 2,
"rejection_reason": "This command is not allowed in production.",
"review_groups_data": [
{
"forced_review": false,
"group": "sre",
"id": "20A5AABE-C35D-4F04-A5A7-C856EE6C7703",
"review_date": "2024-07-25T19:36:41Z",
"reviewed_by": {
"email": "john.wick@bad.org",
"id": "D5BFA2DD-7A09-40AE-AFEB-C95787BA9E90",
"name": "John Wick",
"slack_id": "U053ELZHB53"
},
"status": "APPROVED"
}
],
"revoke_at": "",
"session": "35DB0A2F-E5CE-4AD8-A308-55C3108956E5",
"sidecar_id": "5F5E5C6E-6C3A-4E9A-9E8B-2D6A7F1B0C4D",
"status": "PENDING",
"time_window": {
"configuration": {
"end_time": "18:00",
"start_time": "09:00"
},
"type": "time_range"
},
"type": "onetime"
}
}{
"message": "the error description"
}{
"message": "the error description"
}{
"message": "the error description"
}{
"message": "the error description"
}Headers
The token returned when the sidecar was created
Path Parameters
The review id
Response
OK
Whether the sidecar may release the statement it held
True only on the request that consumed an approved review, and only once per review. False while the review waits, and false forever once it is rejected or revoked.
Example:
false
The review the statement is waiting on, or the one that released it
Show child attributes
Show child attributes
Was this page helpful?