Quick links

Quickstart GuideAPI reference 66 endpointsAuthentication GuideScopes & presets 32 scopesToken lifecycle GuideErrors ReferenceToken console Tool
Documentation menu
QuickstartAuthenticationScopes & presetsToken lifecycleErrorsSecurityJWT & other authAPI referenceToken console

Notifications endpoint

Mark one notification as read.

POST /notifications/:id/mark-as-read requires the explicit notifications:manage scope when called with a merchant API token.

POST/notifications/:id/mark-as-readTry it

Request

Mark one notification as read. The path is relative to the global /api/v1 prefix.

MethodPOST
AuthenticationAPI token or JWT
Required token scopenotifications:manage
ResourceNotifications

Authorization

Notifications managenotifications:manage

Mark or delete notifications.

Scope is only one layer.Single-notification operations are constrained by the authenticated recipient, not only by notification ID.

Interactive JWT requests bypass API-token scope metadata, but continue through the normal role, merchant, and permission guards. API tokens are denied on routes without an explicit token policy.

Parameters & body

NameLocationRequiredDescription
idPathYesResource identifier supplied in the documented route path.
Request schema not published

API.md confirms this route, its scope, and security boundaries, but delegates feature-specific request bodies to the current backend service contract. The docs do not fabricate field names.

Examples

Replace each :parameter segment and provide a server-side environment variable for the bearer credential.

cURL

cURL
curl -X POST 'https://api.usevouchify.com/api/v1/notifications/:id/mark-as-read' \
  -H "Authorization: Bearer $VOUCHIFY_TOKEN" \
  -H 'Content-Type: application/json' \
  --data '<request-body-from-feature-contract>'

JavaScript

Node.js
const response = await fetch(
  'https://api.usevouchify.com/api/v1/notifications/:id/mark-as-read',
  {
    method: 'POST',
    headers: {
      Authorization: `Bearer ${process.env.VOUCHIFY_TOKEN}`,
      'Content-Type': 'application/json'
    },
    body: JSON.stringify(requestBody)
  }
);

if (!response.ok) {
  throw new Error(`Vouchify request failed: ${response.status}`);
}

const contentType = response.headers.get('content-type') || '';
const responseBody = await response.text();
const result = responseBody && contentType.includes('application/json')
  ? JSON.parse(responseBody)
  : responseBody || null;

Response contract

API.md states that response bodies are produced by existing feature services; their resource-specific schemas are authoritative. The merchant-token document does not publish a stable success schema or feature-specific error list for this route.

Authentication errors

401 for invalid/inactive credentials; 403 for missing scopes, blocked routes, or inactive merchant state.

Feature errors

Validation, not-found, and conflict errors are owned by the underlying feature service and are not enumerated in API.md.