OpenPermit Docs
SDK

Primitives and Errors

Receipt verification, canonical hashes, redaction helpers, and typed SDK errors.

Primitives are exported from @openpermit/sdk/primitives:

import {
	canonicalizeMandate,
	getMandateId,
	hashResource,
	redactPaymentMetadata,
	verifyReceipt,
} from '@openpermit/sdk/primitives';

Use typed errors from @openpermit/sdk/errors to handle policy and payment failures:

import {
	OpenPermitApiError,
	OpenPermitPaymentRequiredError,
	OpenPermitPolicyError,
} from '@openpermit/sdk/errors';

try {
	await paidFetch('https://seller.example/paid/data');
} catch (error) {
	if (error instanceof OpenPermitPolicyError) {
		console.error(error.policyDecision);
	}
	if (error instanceof OpenPermitPaymentRequiredError) {
		console.error('unsupported or malformed payment challenge');
	}
	if (error instanceof OpenPermitApiError) {
		console.error(error.status, error.problem);
	}
}