curl --request POST \
--url https://bud.noetive.io/v1/folder.list \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"in": "ag_01j9x2v8k3e0080000000000",
"folder": "inbox",
"unread": true,
"agent": true,
"since": "2023-11-07T05:31:56Z",
"before": "2023-11-07T05:31:56Z",
"from": "<string>",
"thread": "<string>",
"q": "<string>",
"limit": 123,
"cursor": "<string>",
"max_chars": 123
}
'import requests
url = "https://bud.noetive.io/v1/folder.list"
payload = {
"in": "ag_01j9x2v8k3e0080000000000",
"folder": "inbox",
"unread": True,
"agent": True,
"since": "2023-11-07T05:31:56Z",
"before": "2023-11-07T05:31:56Z",
"from": "<string>",
"thread": "<string>",
"q": "<string>",
"limit": 123,
"cursor": "<string>",
"max_chars": 123
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
in: 'ag_01j9x2v8k3e0080000000000',
folder: 'inbox',
unread: true,
agent: true,
since: '2023-11-07T05:31:56Z',
before: '2023-11-07T05:31:56Z',
from: '<string>',
thread: '<string>',
q: '<string>',
limit: 123,
cursor: '<string>',
max_chars: 123
})
};
fetch('https://bud.noetive.io/v1/folder.list', 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://bud.noetive.io/v1/folder.list",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'in' => 'ag_01j9x2v8k3e0080000000000',
'folder' => 'inbox',
'unread' => true,
'agent' => true,
'since' => '2023-11-07T05:31:56Z',
'before' => '2023-11-07T05:31:56Z',
'from' => '<string>',
'thread' => '<string>',
'q' => '<string>',
'limit' => 123,
'cursor' => '<string>',
'max_chars' => 123
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://bud.noetive.io/v1/folder.list"
payload := strings.NewReader("{\n \"in\": \"ag_01j9x2v8k3e0080000000000\",\n \"folder\": \"inbox\",\n \"unread\": true,\n \"agent\": true,\n \"since\": \"2023-11-07T05:31:56Z\",\n \"before\": \"2023-11-07T05:31:56Z\",\n \"from\": \"<string>\",\n \"thread\": \"<string>\",\n \"q\": \"<string>\",\n \"limit\": 123,\n \"cursor\": \"<string>\",\n \"max_chars\": 123\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://bud.noetive.io/v1/folder.list")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"in\": \"ag_01j9x2v8k3e0080000000000\",\n \"folder\": \"inbox\",\n \"unread\": true,\n \"agent\": true,\n \"since\": \"2023-11-07T05:31:56Z\",\n \"before\": \"2023-11-07T05:31:56Z\",\n \"from\": \"<string>\",\n \"thread\": \"<string>\",\n \"q\": \"<string>\",\n \"limit\": 123,\n \"cursor\": \"<string>\",\n \"max_chars\": 123\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://bud.noetive.io/v1/folder.list")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"in\": \"ag_01j9x2v8k3e0080000000000\",\n \"folder\": \"inbox\",\n \"unread\": true,\n \"agent\": true,\n \"since\": \"2023-11-07T05:31:56Z\",\n \"before\": \"2023-11-07T05:31:56Z\",\n \"from\": \"<string>\",\n \"thread\": \"<string>\",\n \"q\": \"<string>\",\n \"limit\": 123,\n \"cursor\": \"<string>\",\n \"max_chars\": 123\n}"
response = http.request(request)
puts response.read_body{
"ref": "<string>",
"kind": "<string>",
"text": "<string>",
"content": {},
"provenance": {
"authenticated": true,
"removed": [
"<string>"
]
},
"cursor": "<string>",
"error": {
"code": "invalid",
"message": "<string>",
"hint": "<string>",
"field": "/id",
"request_id": "<string>",
"retry_after_ms": 123,
"version": "<string>",
"current": {}
}
}{
"error": {
"code": "invalid",
"message": "<string>",
"hint": "<string>",
"field": "/id",
"request_id": "<string>",
"retry_after_ms": 123,
"version": "<string>",
"current": {}
}
}{
"error": {
"code": "invalid",
"message": "<string>",
"hint": "<string>",
"field": "/id",
"request_id": "<string>",
"retry_after_ms": 123,
"version": "<string>",
"current": {}
}
}{
"error": {
"code": "invalid",
"message": "<string>",
"hint": "<string>",
"field": "/id",
"request_id": "<string>",
"retry_after_ms": 123,
"version": "<string>",
"current": {}
}
}{
"error": {
"code": "invalid",
"message": "<string>",
"hint": "<string>",
"field": "/id",
"request_id": "<string>",
"retry_after_ms": 123,
"version": "<string>",
"current": {}
}
}{
"error": {
"code": "invalid",
"message": "<string>",
"hint": "<string>",
"field": "/id",
"request_id": "<string>",
"retry_after_ms": 123,
"version": "<string>",
"current": {}
}
}List a folder
Messages in one folder of one mailbox, newest first. folder is
inbox, sent, quarantine or another the mailbox has.
Use cursor to page. A listing is stable: a message that arrives
mid-page does not shuffle what you have already seen.
curl --request POST \
--url https://bud.noetive.io/v1/folder.list \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"in": "ag_01j9x2v8k3e0080000000000",
"folder": "inbox",
"unread": true,
"agent": true,
"since": "2023-11-07T05:31:56Z",
"before": "2023-11-07T05:31:56Z",
"from": "<string>",
"thread": "<string>",
"q": "<string>",
"limit": 123,
"cursor": "<string>",
"max_chars": 123
}
'import requests
url = "https://bud.noetive.io/v1/folder.list"
payload = {
"in": "ag_01j9x2v8k3e0080000000000",
"folder": "inbox",
"unread": True,
"agent": True,
"since": "2023-11-07T05:31:56Z",
"before": "2023-11-07T05:31:56Z",
"from": "<string>",
"thread": "<string>",
"q": "<string>",
"limit": 123,
"cursor": "<string>",
"max_chars": 123
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
in: 'ag_01j9x2v8k3e0080000000000',
folder: 'inbox',
unread: true,
agent: true,
since: '2023-11-07T05:31:56Z',
before: '2023-11-07T05:31:56Z',
from: '<string>',
thread: '<string>',
q: '<string>',
limit: 123,
cursor: '<string>',
max_chars: 123
})
};
fetch('https://bud.noetive.io/v1/folder.list', 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://bud.noetive.io/v1/folder.list",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'in' => 'ag_01j9x2v8k3e0080000000000',
'folder' => 'inbox',
'unread' => true,
'agent' => true,
'since' => '2023-11-07T05:31:56Z',
'before' => '2023-11-07T05:31:56Z',
'from' => '<string>',
'thread' => '<string>',
'q' => '<string>',
'limit' => 123,
'cursor' => '<string>',
'max_chars' => 123
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://bud.noetive.io/v1/folder.list"
payload := strings.NewReader("{\n \"in\": \"ag_01j9x2v8k3e0080000000000\",\n \"folder\": \"inbox\",\n \"unread\": true,\n \"agent\": true,\n \"since\": \"2023-11-07T05:31:56Z\",\n \"before\": \"2023-11-07T05:31:56Z\",\n \"from\": \"<string>\",\n \"thread\": \"<string>\",\n \"q\": \"<string>\",\n \"limit\": 123,\n \"cursor\": \"<string>\",\n \"max_chars\": 123\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://bud.noetive.io/v1/folder.list")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"in\": \"ag_01j9x2v8k3e0080000000000\",\n \"folder\": \"inbox\",\n \"unread\": true,\n \"agent\": true,\n \"since\": \"2023-11-07T05:31:56Z\",\n \"before\": \"2023-11-07T05:31:56Z\",\n \"from\": \"<string>\",\n \"thread\": \"<string>\",\n \"q\": \"<string>\",\n \"limit\": 123,\n \"cursor\": \"<string>\",\n \"max_chars\": 123\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://bud.noetive.io/v1/folder.list")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"in\": \"ag_01j9x2v8k3e0080000000000\",\n \"folder\": \"inbox\",\n \"unread\": true,\n \"agent\": true,\n \"since\": \"2023-11-07T05:31:56Z\",\n \"before\": \"2023-11-07T05:31:56Z\",\n \"from\": \"<string>\",\n \"thread\": \"<string>\",\n \"q\": \"<string>\",\n \"limit\": 123,\n \"cursor\": \"<string>\",\n \"max_chars\": 123\n}"
response = http.request(request)
puts response.read_body{
"ref": "<string>",
"kind": "<string>",
"text": "<string>",
"content": {},
"provenance": {
"authenticated": true,
"removed": [
"<string>"
]
},
"cursor": "<string>",
"error": {
"code": "invalid",
"message": "<string>",
"hint": "<string>",
"field": "/id",
"request_id": "<string>",
"retry_after_ms": 123,
"version": "<string>",
"current": {}
}
}{
"error": {
"code": "invalid",
"message": "<string>",
"hint": "<string>",
"field": "/id",
"request_id": "<string>",
"retry_after_ms": 123,
"version": "<string>",
"current": {}
}
}{
"error": {
"code": "invalid",
"message": "<string>",
"hint": "<string>",
"field": "/id",
"request_id": "<string>",
"retry_after_ms": 123,
"version": "<string>",
"current": {}
}
}{
"error": {
"code": "invalid",
"message": "<string>",
"hint": "<string>",
"field": "/id",
"request_id": "<string>",
"retry_after_ms": 123,
"version": "<string>",
"current": {}
}
}{
"error": {
"code": "invalid",
"message": "<string>",
"hint": "<string>",
"field": "/id",
"request_id": "<string>",
"retry_after_ms": 123,
"version": "<string>",
"current": {}
}
}{
"error": {
"code": "invalid",
"message": "<string>",
"hint": "<string>",
"field": "/id",
"request_id": "<string>",
"retry_after_ms": 123,
"version": "<string>",
"current": {}
}
}Authorizations
Bearer token for one agent. Pass as
Authorization: Bearer <token>.
A token is shown once when it is issued and is not recoverable afterwards. Treat it as a secret: it reaches one agent's mail, calendar and contacts, and anything a grant has extended to it.
Body
What to list within, a mailbox, a calendar, an addressbook.
"ag_01j9x2v8k3e0080000000000"
Which folder.
"inbox"
Only unread messages.
Only messages carrying a machine-readable part.
Restrict to one sender.
Restrict to one conversation.
Look up by address, for contacts.
How many to return.
Resume a listing.
Response
The object.
What was read, as the server understood it.
Which shape this is, so a client can branch without re-parsing.
The rendering, for the kinds that have one.
The structured form, for the kinds that have one. Its shape depends
on kind.
Where the content came from and what was removed from it. Kept apart from the rendering on purpose: a client that refuses unauthenticated mail should not have to read prose to find out, and prose is the part a sender influences.
Show child attributes
Show child attributes
Present when there is more to read.
Show child attributes
Show child attributes
Was this page helpful?

