@skippy-id/sdk
v1.0.3
Published
Skippy SDK for maintaining the ecosystem, issuing and verifying verifiable credentials
Maintainers
Readme
@skippy-id/sdk
Node-first SDK for interacting with Skippy projects, templates, organisations, and OpenID VC flows.
Installation
npm install @skippy-id/sdkUsage
import { Skippy } from '@skippy-id/sdk';
const skippy = new Skippy({
apiKey: process.env.SKIPPY_API_KEY!,
baseUrl: 'https://api.skippy.id/ext-api',
request: {
timeoutMs: 10000,
retry: {
maxRetries: 2,
retryDelayMs: 250,
retryMethods: ['get']
}
}
});
const organisation = await skippy.organisation.getOrganisation('org_123');
const templates = await skippy.template.getAllCredentialTemplates('project_123');Security
- Production
baseUrlvalues must use approved Skippy API hosts such ashttps://api.skippy.id/ext-apiorhttps://staging.skippy.id/ext-api. - Local
localhostoverrides are accepted only indevelopmentortestenvironments. - SDK errors expose typed status plus sanitized metadata such as
code,requestId, andretryAfter; raw upstream response bodies and transport internals are not surfaced. - Security reports for this repository should follow the policy in
https://github.com/Skippy-Id/skippy/blob/main/SECURITY.md.
Modules
project: project creation, lookup, update, and listing.template: credential and presentation template operations.organisation: organisation lookup, update, and organisation user listing.openidvc: credential offer and authorization request helpers for API-key routes.
Validation
npm run release:check -w packages/skippy-ts-sdk
npm run test:coverage -w packages/skippy-ts-sdkPublishing Workflow
The repository includes a dedicated GitHub Actions workflow at .github/workflows/publish-skippy-sdk.yml.
The recommended publish path is npm trusted publishing with GitHub OIDC, which avoids expiring 90-day write tokens.
Use this release flow:
- Run one command from the repo root:
npm run sdk:release -- patchnpm run sdk:release -- minornpm run sdk:release -- majornpm run sdk:release -- 1.0.2
- Push the release commit and tag:
git push origin HEAD --follow-tags
- In npm package settings for
@skippy-id/sdk, add a trusted publisher for:- GitHub organization or user:
Skippy-Id - Repository:
skippy - Workflow filename:
publish-skippy-sdk.yml
- GitHub organization or user:
- Publish with either:
- a pushed git tag in the format
sdk-vX.Y.Z, or - manual
workflow_dispatchusing asource_ref.
- a pushed git tag in the format
The workflow will:
- install dependencies
- run
npm run release:check -w packages/skippy-ts-sdk - run
npm pack --dry-run -w packages/skippy-ts-sdk - verify the package version is not already published
- publish
@skippy-id/sdkto npm using GitHub OIDC trusted publishing
Notes:
id-token: writeis already enabled in the workflow for OIDC.- npm trusted publishing requires GitHub-hosted runners.
- npm currently requires Node
22.14+and npm CLI11.5.1+for trusted publishing, so the workflow uses Node24. - If the package ever needs private npm dependencies during install, use a separate read-only npm token only for install steps, not for publishing.
npm run sdk:release:dry-runpreviews bump + commit + tag actions without changing files.npm run sdk:release -- patchperforms bump + release-file commit + matching sdk tag in one flow.npm run sdk:version -- --dry-run patchpreviews the next SDK version without changing files.npm run sdk:tag:dry-runpreviews the exactsdk-vX.Y.Ztag for the current SDK version.- The combined release script still keeps
sdk:versionandsdk:tagavailable when you want manual control. - Keep
baseUrlpointed at official Skippy hosts in production. Arbitrary remote endpoints are intentionally rejected by the SDK.
