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

Dashboard endpoint

Read dashboard-linked detail for a merchant user.

GET /merchant/users/:userId requires the explicit dashboard:read scope when called with a merchant API token.

GET/merchant/users/:userIdTry it

Request

Read dashboard-linked detail for a merchant user. The path is relative to the global /api/v1 prefix.

MethodGET
AuthenticationAPI token or JWT
Required token scopedashboard:read
ResourceDashboard

Authorization

Dashboard readdashboard:read

Read merchant dashboard metrics.

Scope is only one layer.The underlying merchant permission guard remains active; the scope cannot override a missing merchant permission.

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
userIdPathYesResource identifier supplied in the documented route path.

Query parameters are not specified by API.md. Use the feature service contract for filters, pagination, or export options.

Examples

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

cURL

cURL
curl -X GET 'https://api.usevouchify.com/api/v1/merchant/users/:userId' \
  -H "Authorization: Bearer $VOUCHIFY_TOKEN"

JavaScript

Node.js
const response = await fetch(
  'https://api.usevouchify.com/api/v1/merchant/users/:userId',
  {
    method: 'GET',
    headers: {
      Authorization: `Bearer ${process.env.VOUCHIFY_TOKEN}`
    }
  }
);

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.