GET /api/v1/approvals
cURL
curl --request GET \
--url '/api/v1/approvals' \
--header 'Authorization: Bearer <token>'JavaScript
const response = await fetch('/api/v1/approvals', {
method: 'GET',
headers: {
"Authorization": "Bearer <token>"
}
});
const data = await response.json();Python
import requests
response = requests.request(
"GET",
"/api/v1/approvals",
headers={
"Authorization": "Bearer <token>"
},
)
print(response.json())PHP
<?php
$client = new \GuzzleHttp\Client();
$response = $client->request('GET', '/api/v1/approvals', [
'headers' => [
'Authorization' => 'Bearer <token>',
],
]);
echo $response->getBody();Go
package main
import (
"fmt"
"io"
"net/http"
)
func main() {
req, _ := http.NewRequest("GET", "/api/v1/approvals", nil)
req.Header.Add("Authorization", "Bearer <token>")
res, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer res.Body.Close()
data, _ := io.ReadAll(res.Body)
fmt.Println(string(data))
}Ruby
require "net/http"
uri = URI("/api/v1/approvals")
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = uri.scheme == "https"
request = Net::HTTP::Get.new(uri)
request["Authorization"] = "Bearer <token>"
response = http.request(request)
puts response.bodyJava
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("/api/v1/approvals"))
.header("Authorization", "Bearer <token>")
.method("GET", HttpRequest.BodyPublishers.noBody())
.build();
HttpResponse<String> response = HttpClient.newHttpClient()
.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());Authorization
A bearer token in the Authorization header.
Query parameters
| Name | Type | Required | Description |
|---|---|---|---|
cursor | string | No | Opaque cursor returned by the preceding list response. |
per_page | integer | No | Number of records to return. Default: 25 |
status | string | No | Defaults to pending. One of: all, pending, approved, rejected, changes_requested, canceledDefault: pending |
Responses
200 · Approval requests in the token workspace.
| Name | Type | Required | Description |
|---|---|---|---|
data | array of Approval | Yes | |
data[].id | string | Yes | |
data[].object | string | Yes | |
data[].run_id | string or null | Yes | |
data[].workflow_id | string or null | Yes | |
data[].status | string | Yes | One of: pending, approved, rejected, changes_requested, canceled |
data[].decision | string or null | Yes | |
data[].title | string or null | Yes | |
data[].summary | string or null | Yes | |
data[].request | object | Yes | Redacted approval context safe for API presentation. |
data[].due_at | string (date-time) or null (date-time) | No | |
data[].responded_at | string (date-time) or null (date-time) | No | |
data[].created_at | string (date-time) or null (date-time) | Yes | |
data[].updated_at | string (date-time) or null (date-time) | Yes | |
meta | CursorMeta | Yes | |
meta.next_cursor | string or null | Yes | |
meta.previous_cursor | string or null | Yes | |
meta.has_more | boolean | Yes | |
request_id | string | Yes |
{
"data": [
{
"id": "string",
"object": "approval",
"run_id": "string",
"workflow_id": "string",
"status": "pending",
"decision": "string",
"title": "string",
"summary": "string",
"request": {},
"due_at": "2024-01-01T00:00:00Z",
"responded_at": "2024-01-01T00:00:00Z",
"created_at": "2024-01-01T00:00:00Z",
"updated_at": "2024-01-01T00:00:00Z"
}
],
"meta": {
"next_cursor": "string",
"previous_cursor": "string",
"has_more": true
},
"request_id": "string"
}401 · The Bearer token is missing, malformed, expired, or revoked.
| Name | Type | Required | Description |
|---|---|---|---|
error | object | Yes | |
error.code | string | Yes | |
error.message | string | Yes | |
error.details | object | No | |
request_id | string | Yes |
{
"error": {
"code": "string",
"message": "string",
"details": {}
},
"request_id": "string"
}403 · The token lacks the required ability.
| Name | Type | Required | Description |
|---|---|---|---|
error | object | Yes | |
error.code | string | Yes | |
error.message | string | Yes | |
error.details | object | No | |
request_id | string | Yes |
{
"error": {
"code": "string",
"message": "string",
"details": {}
},
"request_id": "string"
}422 · The request is invalid or the workspace cannot perform the operation.
| Name | Type | Required | Description |
|---|---|---|---|
error | object | Yes | |
error.code | string | Yes | |
error.message | string | Yes | |
error.details | object | No | |
request_id | string | Yes |
{
"error": {
"code": "string",
"message": "string",
"details": {}
},
"request_id": "string"
}429 · A per-token rate limit was exceeded.
| Name | Type | Required | Description |
|---|---|---|---|
error | object | Yes | |
error.code | string | Yes | |
error.message | string | Yes | |
error.details | object | No | |
request_id | string | Yes |
{
"error": {
"code": "string",
"message": "string",
"details": {}
},
"request_id": "string"
}503 · The site administrator has disabled the Workspace API.
| Name | Type | Required | Description |
|---|---|---|---|
error | object | Yes | |
error.code | string | Yes | |
error.message | string | Yes | |
error.details | object | No | |
request_id | string | Yes |
{
"error": {
"code": "string",
"message": "string",
"details": {}
},
"request_id": "string"
}