List notes
curl --request GET \
--url https://api.vegaminds.com/v1/notes \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.vegaminds.com/v1/notes"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.vegaminds.com/v1/notes', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"data": [
{
"id": "9d9c0b33-7e53-4ef6-a730-f034d38cb137",
"is_external": false,
"title": "Annual review follow-up",
"contacts": [
{
"id": "1f128fef-f499-4c88-a53e-75f235ccb65a",
"name": "Jordan Ellis"
}
],
"households": [
{
"id": "46852331-f25c-4fcc-9d16-2162c96be9ad",
"name": "Ellis family"
}
],
"created_on": "2026-11-04T15:20:03Z",
"updated_on": "2026-11-04T15:20:03Z"
}
],
"page": 1,
"limit": 50,
"has_more": false
}{
"error": {
"code": "invalid_request",
"message": "The request body is invalid.",
"fields": {
"email_addresses[0].address": "Must be an email address."
}
},
"request_id": "3f6c1e9a-2b7d-4c58-9e41-8a0d5b7f2c16"
}{
"error": {
"code": "invalid_token",
"message": "The access token is invalid, expired or revoked."
},
"request_id": "3f6c1e9a-2b7d-4c58-9e41-8a0d5b7f2c16"
}{
"error": {
"code": "insufficient_scope",
"message": "This request needs the contacts:write scope, which the user did not grant. Connect the user again, asking for it."
},
"request_id": "3f6c1e9a-2b7d-4c58-9e41-8a0d5b7f2c16"
}{
"error": {
"code": "rate_limited",
"message": "Too many requests. Wait the number of seconds in the Retry-After header, then try again."
}
}{
"error": {
"code": "internal_error",
"message": "Something went wrong on our side. Try again later, and contact Vega support with the request id if it keeps happening."
},
"request_id": "3f6c1e9a-2b7d-4c58-9e41-8a0d5b7f2c16"
}Notes
List notes
The notes the user can see, most recently updated first. With query, notes whose title has every word come first. Rows are summaries; get a note for its body.
GET
/
notes
List notes
curl --request GET \
--url https://api.vegaminds.com/v1/notes \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.vegaminds.com/v1/notes"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.vegaminds.com/v1/notes', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"data": [
{
"id": "9d9c0b33-7e53-4ef6-a730-f034d38cb137",
"is_external": false,
"title": "Annual review follow-up",
"contacts": [
{
"id": "1f128fef-f499-4c88-a53e-75f235ccb65a",
"name": "Jordan Ellis"
}
],
"households": [
{
"id": "46852331-f25c-4fcc-9d16-2162c96be9ad",
"name": "Ellis family"
}
],
"created_on": "2026-11-04T15:20:03Z",
"updated_on": "2026-11-04T15:20:03Z"
}
],
"page": 1,
"limit": 50,
"has_more": false
}{
"error": {
"code": "invalid_request",
"message": "The request body is invalid.",
"fields": {
"email_addresses[0].address": "Must be an email address."
}
},
"request_id": "3f6c1e9a-2b7d-4c58-9e41-8a0d5b7f2c16"
}{
"error": {
"code": "invalid_token",
"message": "The access token is invalid, expired or revoked."
},
"request_id": "3f6c1e9a-2b7d-4c58-9e41-8a0d5b7f2c16"
}{
"error": {
"code": "insufficient_scope",
"message": "This request needs the contacts:write scope, which the user did not grant. Connect the user again, asking for it."
},
"request_id": "3f6c1e9a-2b7d-4c58-9e41-8a0d5b7f2c16"
}{
"error": {
"code": "rate_limited",
"message": "Too many requests. Wait the number of seconds in the Retry-After header, then try again."
}
}{
"error": {
"code": "internal_error",
"message": "Something went wrong on our side. Try again later, and contact Vega support with the request id if it keeps happening."
},
"request_id": "3f6c1e9a-2b7d-4c58-9e41-8a0d5b7f2c16"
}Authorizations
Query Parameters
Only the records whose updated_on is at or after this timestamp, which needs a time zone offset. To keep a copy in sync, pass the latest updated_on you have stored, as returned (it ends in Z); records updated in that same second come back again. Write an offset's + as %2B, since a + in a URL reads as a space.

