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

Memberships endpoint

Update one membership pass template.

PATCH /memberships/pass-templates/:templateId requires the explicit memberships:update scope when called with a merchant API token.

PATCH/memberships/pass-templates/:templateIdTry it

Request

Update one membership pass template. The path is relative to the global /api/v1 prefix.

MethodPATCH
AuthenticationAPI token or JWT
Required token scopememberships:update
ResourceMemberships

Authorization

Memberships updatememberships:update

Update membership catalog and lifecycle state.

Scope is only one layer.Pass detail queries include the authenticated merchant ID to prevent cross-merchant resource access.

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
templateIdPathYesResource 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 PATCH 'https://api.usevouchify.com/api/v1/memberships/pass-templates/:templateId' \
  -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/memberships/pass-templates/:templateId',
  {
    method: 'PATCH',
    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.