Client API

client.checkResourceAccess

Fetch the access route (default /api/nibgate/access)

Fetch the access route (default /api/nibgate/access). A 402 returns a challenge unless checkout or autoPay is configured. Network errors reject; inspect result.ok before using protected payload.

Signature

checkResourceAccess(resource: NibgateResource | string, options?: NibgateAccessCheckOptions): Promise<NibgateAccessCheckResult>;

Parameters

ParameterType
resourceNibgateResource | string
options?NibgateAccessCheckOptions

Returns

Promise<NibgateAccessCheckResult>

Example

App-supplied identifiers such as provider, signer, walletCheckout, sendTransfer, signOwnership and verifiedPaymentSignature represent your configured wallet integration or verified result. These are usage examples, not an automatically executed checkout.

import { createNibgate } from '@nibgate/sdk';
const client = createNibgate();
const resource = { id: 'article-1', title: 'Example article', type: 'article', price: '1', url: 'https://creator.example/articles/1' };

const result = await client.checkResourceAccess(resource, { accessPath: "/api/nibgate/access?id=article-1" });
if (result.ok) console.log(result.payload);

Source

Declaration, line 108 · Implementation, line 9 · Client binding, line 58

Pinned SDK 0.4.40 at 345fc04b984f01366cbe2a9f4064f22268d5d3f6.

NibgateResource

export type NibgateResource = {
  id: string;
  title?: string;
  type?: NibgateContentType | string;
  contentType?: NibgateContentType | string;
  price?: string | number;
  paymentRail?: NibgatePaymentRail | string;
  amount?: string | number;
  recipient?: string;
  receiver?: string;
  receiverAddress?: string;
  payTo?: string;
  creatorWallet?: string;
  path?: string;
  route?: string;
  url?: string;
  imageUrl?: string;
  image?: string;
  description?: string;
  summary?: string;
  tags?: readonly string[] | string;
  access?: NibgateAccessMode | NibgateAccessPolicy;
  unlock?: NibgateUnlockMode | NibgateUnlockPolicy;
  ratingsEnabled?: boolean;
  enableRatings?: boolean;
  reputation?: {
    ratingsEnabled?: boolean;
    [key: string]: unknown;
  };
  [key: string]: unknown;
};

NibgateAccessCheckOptions

export type NibgateAccessCheckOptions = {
  source?: string;
  accessPath?: string;
  payPath?: string;
  autoPay?: boolean;
  retryAfterPay?: boolean;
  paymentSignature?: string;
  paymentRequiredHeader?: string;
  memo?: string;
  checkout?: NibgateCheckoutHandler;
  createPaymentSignature?: NibgateCheckoutHandler;
  method?: string;
  headers?: Record<string, string>;
  body?: BodyInit | null;
  payment?: NibgatePayment;
  paymentProvider?: string;
  checkingMessage?: string;
  challengeMessage?: string;
  successMessage?: string;
  errorMessage?: string;
  gateOptions?: NibgateGateOptions;
  onStatus?: (message: string) => void;
};

NibgateAccessCheckResult

export type NibgateAccessCheckResult =
  | { ok: true; status: number; payload: Record<string, unknown>; payment: NibgatePayment | null; resource: NibgateResource; response: Response }
  | { ok: false; status: number; challenge?: Record<string, unknown>; error?: string; payload?: Record<string, unknown>; resource: NibgateResource; response: Response };