Skip to content
getgeolens.com

Send Test Notification

POST
/settings/notifications/test/
curl --request POST \
--url https://example.com/settings/notifications/test/ \
--header 'Authorization: Bearer <token>'

Send a canned test notification through each configured channel (admin only).

Mirrors detect_embedding_dims: admin-gated probe that reports per-channel reachable/error in a 200 body without leaking secrets or raising 5xx on a bad channel (NOTIF-06 / T-1229-08 / T-1229-09 / T-1229-10).

Per-channel approach (not EnvConfiguredNotificationSink.deliver) is used so each channel’s success/failure is captured in its own NotificationTestChannelResult for display in the admin UI.

Successful Response

Media type application/json
NotificationTestResponse

Response for POST /settings/notifications/test/ (NOTIF-06).

Always returns HTTP 200 — a channel delivery failure is captured in the per-channel channels list rather than as a 5xx. Never contains secret values (T-1229-09 / NOTIF-05).

object
channels
required
Channels

Per-channel delivery results. Empty when no channel is configured.

Array<object>
NotificationTestChannelResult

Per-channel result from POST /settings/notifications/test/.

The error field contains only the exception type name and a short safe message — never the SMTP password, webhook URL, or webhook secret (T-1229-09 / NOTIF-05).

object
channel
required
Channel

Channel name, e.g. ‘smtp’ or ‘webhook’.

string
error
Any of:
string
ok
required
Ok

True if the channel delivered the test notification without error.

boolean
message
required
Message

Human-readable summary of the test result.

string
sent
required
Sent

True if at least one channel successfully delivered the test notification.

boolean
Example generated
{
"channels": [
{
"channel": "example",
"error": "example",
"ok": true
}
],
"message": "example",
"sent": true
}

Bad request — invalid query parameters or payload

Media type application/problem+json
ProblemDetail
object
detail
required
Any of:
string
status
required
Status
integer
title
required
Title
string
type
Type
string
default: about:blank
Example
{
"detail": "Dataset not found",
"status": 404,
"title": "Not Found",
"type": "about:blank"
}

Unauthorized — missing or invalid credentials

Media type application/problem+json
ProblemDetail
object
detail
required
Any of:
string
status
required
Status
integer
title
required
Title
string
type
Type
string
default: about:blank
Example
{
"detail": "Dataset not found",
"status": 404,
"title": "Not Found",
"type": "about:blank"
}

Forbidden — caller lacks access to this resource

Media type application/problem+json
ProblemDetail
object
detail
required
Any of:
string
status
required
Status
integer
title
required
Title
string
type
Type
string
default: about:blank
Example
{
"detail": "Dataset not found",
"status": 404,
"title": "Not Found",
"type": "about:blank"
}

Not found

Media type application/problem+json
ProblemDetail
object
detail
required
Any of:
string
status
required
Status
integer
title
required
Title
string
type
Type
string
default: about:blank
Example
{
"detail": "Dataset not found",
"status": 404,
"title": "Not Found",
"type": "about:blank"
}

Validation error

Media type application/problem+json
ProblemDetail
object
detail
required
Any of:
string
status
required
Status
integer
title
required
Title
string
type
Type
string
default: about:blank
Example
{
"detail": "Dataset not found",
"status": 404,
"title": "Not Found",
"type": "about:blank"
}

Too many requests — retry after the advertised interval

Media type application/problem+json
ProblemDetail
object
detail
required
Any of:
string
status
required
Status
integer
title
required
Title
string
type
Type
string
default: about:blank
Example
{
"detail": "Dataset not found",
"status": 404,
"title": "Not Found",
"type": "about:blank"
}
Retry-After
integer

Seconds until the request may be retried

Internal server error

Media type application/problem+json
ProblemDetail
object
detail
required
Any of:
string
status
required
Status
integer
title
required
Title
string
type
Type
string
default: about:blank
Example
{
"detail": "Dataset not found",
"status": 404,
"title": "Not Found",
"type": "about:blank"
}

Service unavailable — the database could not serve the request

Media type application/problem+json
ProblemDetail
object
detail
required
Any of:
string
status
required
Status
integer
title
required
Title
string
type
Type
string
default: about:blank
Example
{
"detail": "Dataset not found",
"status": 404,
"title": "Not Found",
"type": "about:blank"
}