List folders
curl --request GET \
--url https://api.scribe-mail.com/v1/folders \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.scribe-mail.com/v1/folders"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.scribe-mail.com/v1/folders', 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://api.scribe-mail.com/v1/folders",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <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://api.scribe-mail.com/v1/folders"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.scribe-mail.com/v1/folders")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.scribe-mail.com/v1/folders")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"data": [
{
"id": "<string>",
"name": "<string>",
"signature_count": 123,
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z"
}
],
"pagination": {
"page": 123,
"limit": 123,
"total_count": 123,
"total_pages": 123,
"has_more": true
}
}{
"error": {
"type": "<string>",
"code": "<string>",
"message": "<string>"
},
"remediation": {
"action": "connect_integration",
"dashboard_url": "<string>",
"message": "<string>"
}
}Folders
List folders
GET
/
v1
/
folders
List folders
curl --request GET \
--url https://api.scribe-mail.com/v1/folders \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.scribe-mail.com/v1/folders"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.scribe-mail.com/v1/folders', 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://api.scribe-mail.com/v1/folders",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <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://api.scribe-mail.com/v1/folders"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.scribe-mail.com/v1/folders")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.scribe-mail.com/v1/folders")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"data": [
{
"id": "<string>",
"name": "<string>",
"signature_count": 123,
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z"
}
],
"pagination": {
"page": 123,
"limit": 123,
"total_count": 123,
"total_pages": 123,
"has_more": true
}
}{
"error": {
"type": "<string>",
"code": "<string>",
"message": "<string>"
},
"remediation": {
"action": "connect_integration",
"dashboard_url": "<string>",
"message": "<string>"
}
}List the folders in a deployment’s workspace.
By default this returns the folders at the workspace root. Pass the
parentId query parameter to list the direct children of a specific folder instead.
Results are scoped to the calling user: only folders the user can see are returned. A folder is visible when the user owns it, has been granted access to it directly, or has access to something inside it (a sub-folder, workbook, or dashboard), in which case the ancestor folders are surfaced as navigation.
This endpoint is not recursive — it returns a single level of the folder tree per call. Use parentId to walk deeper, or GET /folders/{folderId}/ancestors to resolve a breadcrumb path.
Results are returned in pages using cursor-based pagination: pass first to set the page size and after (the previous response’s pageInfo.endCursor) to fetch the next page. The legacy data and count fields are still populated for backwards compatibility but are deprecated in favour of items and pageInfo.Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Was this page helpful?