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.

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/.

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.

object
sent
required
Sent

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

boolean
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.

object
channel
required
Channel

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

string
ok
required
Ok

True if the channel delivered the test notification without error.

boolean
error
Any of:
string
message
required
Message

Human-readable summary of the test result.

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

Bad request — invalid query parameters or payload

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

Not found

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

Validation error

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