List notifications
curl --request GET \
--url https://api.visorfinance.app/v1/notifications \
--header 'Authorization: Bearer <token>'{
"data": [
{
"body": "Internet vence amanhã, R$ 119,90.",
"created_at": "2026-10-01T15:31:02Z",
"id": "2b7e9a4c-6d1f-4c3a-8e5b-9f0a1b2c3d4e",
"read": false,
"read_at": null,
"space_id": "6f1c2a9e-1d7b-4c55-9a3e-2b8f0c4d5e61",
"title": "Conta vence amanhã",
"topic": "bill_reminder"
}
],
"next_cursor": "MjAyNi0xMC0wMVQxNTozMTowMlp8OWMxZQ"
}{
"errors": [
{
"code": "BAD_REQUEST",
"details": {
"parameter": "include_hidden"
},
"message": "The request is malformed.",
"request_id": "F8x2kQ9vXc1AAAAB"
}
]
}{
"errors": [
{
"code": "INVALID_TOKEN",
"details": {},
"message": "The personal API token is not valid.",
"request_id": "F8x2kQ9vXc1AAAAB"
}
]
}{
"errors": [
{
"code": "INSUFFICIENT_SCOPE",
"details": {
"required_scope": "pfm:read"
},
"message": "The personal API token does not grant this operation.",
"request_id": "F8x2kQ9vXc1AAAAB"
}
]
}{
"errors": [
{
"code": "INVALID_TOKEN",
"details": {},
"message": "<string>",
"request_id": "<string>"
}
]
}{
"errors": [
{
"code": "RATE_LIMITED",
"details": {
"retry_after_seconds": 42
},
"message": "Too many requests. Retry after the number of seconds in Retry-After.",
"request_id": "F8x2kQ9vXc1AAAAB"
}
]
}Notifications
List notifications
Returns one page of the user’s inbox, newest first. Requires the pfm:read scope. Pass next_cursor as after to read the next page; it is null on the last page. Notifications the user cleared do not appear.
List notifications
curl --request GET \
--url https://api.visorfinance.app/v1/notifications \
--header 'Authorization: Bearer <token>'{
"data": [
{
"body": "Internet vence amanhã, R$ 119,90.",
"created_at": "2026-10-01T15:31:02Z",
"id": "2b7e9a4c-6d1f-4c3a-8e5b-9f0a1b2c3d4e",
"read": false,
"read_at": null,
"space_id": "6f1c2a9e-1d7b-4c55-9a3e-2b8f0c4d5e61",
"title": "Conta vence amanhã",
"topic": "bill_reminder"
}
],
"next_cursor": "MjAyNi0xMC0wMVQxNTozMTowMlp8OWMxZQ"
}{
"errors": [
{
"code": "BAD_REQUEST",
"details": {
"parameter": "include_hidden"
},
"message": "The request is malformed.",
"request_id": "F8x2kQ9vXc1AAAAB"
}
]
}{
"errors": [
{
"code": "INVALID_TOKEN",
"details": {},
"message": "The personal API token is not valid.",
"request_id": "F8x2kQ9vXc1AAAAB"
}
]
}{
"errors": [
{
"code": "INSUFFICIENT_SCOPE",
"details": {
"required_scope": "pfm:read"
},
"message": "The personal API token does not grant this operation.",
"request_id": "F8x2kQ9vXc1AAAAB"
}
]
}{
"errors": [
{
"code": "INVALID_TOKEN",
"details": {},
"message": "<string>",
"request_id": "<string>"
}
]
}{
"errors": [
{
"code": "RATE_LIMITED",
"details": {
"retry_after_seconds": 42
},
"message": "Too many requests. Retry after the number of seconds in Retry-After.",
"request_id": "F8x2kQ9vXc1AAAAB"
}
]
}Authorizations
personal_api_tokenvisor_cli_oauth
Personal API token created in Visor Settings
Query Parameters
true for only unread notifications, false for only read ones. Omit it for both.
Notifications per page, 1 to 50. Defaults to 30.
Required range:
1 <= x <= 50The next_cursor of the previous page. Omit it for the first page.
Was this page helpful?