CLI Creator
huangruiteng/CS-Notes
Build a composable CLI for Codex from API docs, an OpenAPI spec, existing curl examples, an SDK, a web app, an admin tool, or a local script.
Reconcile the SDK against the Mollie API spec — checks and optionally fixes types, JSDoc, enums, deprecations, endpoint coverage, and helper wiring.
$ npx skills add mollie/mollie-api-node --skill sync-api -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install mollie/mollie-api-node sync-api --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/mollie/mollie-api-node.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/sync-api .claude/skills/sync-api && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "sync-api" agent skill from https://github.com/mollie/mollie-api-node/tree/master/.claude/skills/sync-api into .claude/skills/sync-api/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "sync-api", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/mollie/mollie-api-node/tree/master/.claude/skills/sync-apiType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add mollie/mollie-api-node --skill sync-api -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install mollie/mollie-api-node sync-api --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/mollie/mollie-api-node.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.claude/skills/sync-api .agents/skills/sync-api && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "sync-api" agent skill from https://github.com/mollie/mollie-api-node/tree/master/.claude/skills/sync-api into .agents/skills/sync-api/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "sync-api", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add mollie/mollie-api-node --skill sync-api -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install mollie/mollie-api-node sync-api --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/mollie/mollie-api-node.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.claude/skills/sync-api .cursor/skills/sync-api && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "sync-api" agent skill from https://github.com/mollie/mollie-api-node/tree/master/.claude/skills/sync-api into .cursor/skills/sync-api/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "sync-api", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/mollie/mollie-api-node.git --path .claude/skills/sync-api--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add mollie/mollie-api-node --skill sync-api -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install mollie/mollie-api-node sync-api --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/mollie/mollie-api-node.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.claude/skills/sync-api .gemini/skills/sync-api && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "sync-api" agent skill from https://github.com/mollie/mollie-api-node/tree/master/.claude/skills/sync-api into .gemini/skills/sync-api/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "sync-api", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install mollie/mollie-api-node sync-apiInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add mollie/mollie-api-node --skill sync-api -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/mollie/mollie-api-node.git skills-src && mkdir -p .github/skills && cp -r skills-src/.claude/skills/sync-api .github/skills/sync-api && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "sync-api" agent skill from https://github.com/mollie/mollie-api-node/tree/master/.claude/skills/sync-api into .github/skills/sync-api/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "sync-api", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add mollie/mollie-api-node --skill sync-api -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install mollie/mollie-api-node sync-api --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/mollie/mollie-api-node.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.claude/skills/sync-api .opencode/skills/sync-api && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "sync-api" agent skill from https://github.com/mollie/mollie-api-node/tree/master/.claude/skills/sync-api into .opencode/skills/sync-api/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "sync-api", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
sync-apiReconcile the SDK against the Mollie API spec — checks and optionally fixes types, JSDoc, enums, deprecations, endpoint coverage, and helper wiring.
Sync API is an agent skill from mollie/mollie-api-node. Reconcile the SDK against the Mollie API spec — checks and optionally fixes types, JSDoc, enums, deprecations, endpoint coverage, and helper wiring. Use when verifying or syncing the SDK with the official API for a single endpoint, a resource, or the whole SDK.
Its SKILL.md is about 3.6k tokens, which your agent loads only when the skill is triggered. The skill folder holds 8 other files, including scripts and reference files (for example `references/agent-prompt.md`, `references/apply.md` and `references/wiring.md`).
It sits in Backend & APIs, covering OpenAPI specifications and Technical documentation. The repository describes itself as: Community Mollie API client for Node. The licence is BSD-3-Clause.
2 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit b210b06. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Ships 3 files in scripts/ (JavaScript), which the agent can run.
Shell commands in SKILL.md call:
nodegityarnnpxFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use git, yarn and npx, which can reach the network depending on how they are called.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Sync API loads about 3.6k tokens when it runs, and up to ~6.6k if it reads all its reference files. Until then it costs about 68 tokens; SKILL.md has 1,835 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.
The full file from mollie/mollie-api-node at commit b210b06, republished under its BSD-3-Clause licence (© mollie). 1,835 words, ~3,568 tokens.
.claude/skills/sync-api/SKILL.md (or your agent's skills folder). This skill also uses 6 other files; get the full folder from GitHub.Compare the SDK's TypeScript types against Mollie's master OpenAPI spec and optionally apply fixes. A bundled toolchain does the deterministic work (fetch, resolve, flatten, diff); you apply the judgment (Pick-vs-inline, nullability, breaking changes, deprecation, JSDoc). Spend your tokens on judgment, not on parsing JSON.
/sync-api <target> [--only structure,docs,wiring]
<target> is a single token — one of:
get-payment, create-refund) — one endpointrefunds, payments) — every endpoint of that resource--only scopes which phases run (default: all three). "just sync the docs" → --only docs. If the target doesn't match a known operationId (via extract-spec.mjs --index) or resource directory, ask rather than guessing.
The master spec mollie/openapi:specs.yaml (operationId is the endpoint key, complete, all $refs local). The toolchain fetches and caches it (ETag-validated) under .tmp/sync-api/.
Do NOT hand-fetch doc pages to read schemas. Doc-site slugs are inconsistent with operationIds (e.g. spec list-chargebacks = doc list-payment-chargebacks; create-payment-refund.md 404s — it's create-refund) and a wrong slug returns a 200-status 404 page that parses as an empty "in sync" result. Doc pages are only used for @see URLs, always HTTP-200-verified before writing (see references/apply.md).
scripts/, run via Bash)Run from the repo root (paths below are repo-root-relative; the scripts resolve the repo root themselves, so the working directory only matters for locating the script file).
| Command | Output |
|---|---|
node .claude/skills/sync-api/scripts/extract-spec.mjs --index | every operation: METHOD path -> operationId |
node .claude/skills/sync-api/scripts/extract-spec.mjs <operationId> [--side response|request|params] [--show|--json] | bare: summary + self-check status. --show: rendered digest. --json: digest rows. Default side: response (GET) / request (POST/PATCH/PUT). |
node .claude/skills/sync-api/scripts/extract-spec.mjs <operationId> --meta [--json] | the operation's own summary / description / deprecated — the anchor for the binder-method JSDoc check (Phase 2) |
node .claude/skills/sync-api/scripts/extract-sdk.mjs <file.ts> [--json] | SDK structural map: Pick/PickOptional/inline/heritage, JSDoc, @see, duplicate fields; for a binder, also .methods[] (method name + JSDoc + @see) |
node .claude/skills/sync-api/scripts/diff.mjs <operationId> <file.ts> <TypeName> | deterministic field delta: missing / extra / type+doc drift. Side is chosen from the SDK type (see below); readOnly/writeOnly filtered accordingly; bases resolved (incl. cross-file). Field-level only — method JSDoc is Phase 2. |
The digest preserves every description verbatim — that prose (deprecations, constraints, access restrictions, method-specific relevance) is the core value and the scripts never summarize it. If extract-spec.mjs exits non-zero on a digest, a description was dropped — treat as a bug, do not proceed on partial data. (A missing side — e.g. a 204 No Content response, or a GET with no query params — is a clean exit 0 with empty output, not an error.) The spec is fetched once and cached; a recent cache is reused without a network call. Offline → it warns once and uses the cache; pass --refresh to force a re-fetch.
For each operation in scope:
Discover the SDK side. Glob the resource's files (src/data/**/<resource>/*.ts, src/binders/**/<resource>/*.ts); run extract-sdk.mjs <data.ts> --json and extract-sdk.mjs <parameters.ts> --json to see the exported types.
Run diff.mjs for each operation against its SDK mirror(s). An operation has up to two mirrors, and diff.mjs picks the comparison side automatically from the SDK type you pass:
Data interface — diff <op> <data.ts> <ResourceData> (every GET/POST/PATCH that returns a body).*Parameters type — diff <op> <parameters.ts> <OpParameters> (Create*/Update* for body; Get*/Page*/Iterate* for query params; Cancel*/Delete* for testmode-only bodies).Run both where both exist. The diff is the mechanical delta; spend judgment on it, not on re-deriving it.
Apply judgment over the delta + the verbatim descriptions, across three phases in order (each depends on the previous being resolved):
Resolve the diff "MISSING" / "IN SDK not in spec" / type findings:
? optional by default, always with JSDoc (the spec description, verbatim) and an @see link.Pick vs inline (the hardest call): a field belongs inline in parameters.ts ONLY if (a) it exists on no Data interface anywhere in src/data/ (request-only / writeOnly, e.g. cardToken, dueDate), OR (b) the spec genuinely differs between request and response for that field (different description, constraints, or type — compare both). Otherwise use Pick/PickOptional from the owning Data interface. extract-sdk.mjs flags fields defined via Pick and inline (⚠️ DUPLICATES) — those must be deduplicated to Pick/PickOptional (verify the Data interface's JSDoc is complete first, since it becomes canonical).Pick, never Omit — Omit silently leaks newly-added source fields.diff.mjs appends it as — spec note: "…" — that prose is authoritative (e.g. testmode on the terminals pairing endpoints: "does not support test mode yet" → a real over-declaration; mind the "yet" — the answer may be "keep, support is imminent"). With no spec note (e.g. testmode on the live-only settlement endpoints), it's a softer call — genuinely unsupported, or just unlisted by Mollie? Flag under "Needs attention" either way._links / _embedded entries are structure too — diff.mjs flags a missing link/embed property as [P1] _links.<name>: in spec, not on <Links interface>. Add the property (e.g. to the *Links interface) with JSDoc, exactly like any other field. (The helper for it is a separate concern — Phase 3.)readOnly) fields on shared interfaces stay required on the Data interface (matching the response); the request strips them via Pick. Never weaken a response type because a field isn't sent in requests.Nullable vs optional (see CLAUDE.md for the project convention):
type: [..,'null'] does NOT mean T | null. Sending null to clear a field is a distinct semantic most Mollie fields don't support — default to T unless the description explicitly says null clears the value.Nullable<T> (confirmed behavior). Don't auto-flip optionality from the spec — the docs are unreliable here.⚠️ BREAKING CHANGES — warn loudly, never auto-apply. Removing/renaming a field/type/enum/method; optional→required on a request param; required→optional on a response field (breaks consumers doing obj.field.prop, even if the spec says optional — the SDK may keep it required based on observed behavior); type changes. Prefix with ⚠️ BREAKING: under "Needs attention", explain why, and prefer non-breaking alternatives (add alongside, @deprecated the old, union types). Response optionality changes require explicit user confirmation.
On the final field locations (after Phase 1):
deprecated flag, xDeprecatedEnum, AND the description prose ("will be ignored", "no longer supported", "use X instead"). Any deprecation → @deprecated JSDoc tag on the SDK field/method.diff.mjs flags no-JSDoc and JSDoc may drop N spec sentence(s) (the SDK JSDoc lost content the spec has). This is coverage, not verbatim — the goal is that the spec's information is reflected in the code, not copied word-for-word. Apply judgment:Amount/URL boilerplate ("In v2 endpoints, monetary amounts/URLs are represented as objects…") — it lives on the shared Amount/Url type, not repeated per field; its absence is not a gap.@see format — diff.mjs flags old-@see-format (/reference/v2/<api>/... → /reference/...). For bulk, state the count.diff.mjs does NOT cover this (it's method-level, not field-level), so it must be done explicitly. Run extract-spec.mjs <op> --meta (the operation's summary/description/deprecated) and extract-sdk.mjs <binder> --json (.methods[] with JSDoc + @see); map each method to its operation via its @see slug. Then flag:@deprecated mismatch (mechanical) — operation deprecated: true but the method JSDoc lacks @deprecated, or vice versa.description contradicts or no longer mentions (e.g. "supports Cards and Klarna", an Orders-shipment flow). Ignore mere wording differences.An invariant over the current state: every _links / _embedded entry the SDK declares should have a corresponding helper — regardless of whether the entry was just added (Phase 1) or has been there all along. (Existence + correctness of the entry itself is Phase 1/2; this phase only asks "is there a helper for it?")
diff.mjs flags [P3] _links.<name>: no helper (expected get/has<Name>[Url]) — Helper class: <file | NONE — must be created>. For each, add the helper using the right pattern (list→HelpfulIterator + hasX; single resource→getX; URL-only→getXUrl), creating the resource's *Helper.ts if none exists. See references/wiring.md for the patterns and the 4-file _embedded procedure. Base self/documentation are never helper-exposed and aren't flagged.
file:line for individual ones. Never auto-remove SDK fields absent from the spec — flag under "Needs attention". Then a Summary: Doc-synced (no type change), Added, Needs attention (omit empty categories).git status --porcelain --untracked-files=no (the gitignored .tmp/ cache and untracked files are correctly excluded). If it shows uncommitted changes to tracked files, STOP and ask the user — sync edits would interleave with their existing work, muddying the diff. Lead with the safer option (the tree is already dirty, which is the only reason this prompt appears): (a) isolate in a fresh worktree (recommended/default) — git worktree add ../mollie-api-node-sync-<target> -b sync/<target> (clean checkout of the current commit; their WIP stays put); or (b) apply here anyway (sync edits interleave with the existing changes). Do not proceed until they choose.references/apply.md (Pick/PickOptional mechanics + the mandatory pre-check, @see format + verify-before-write, intersection/empty-interface style) and apply edits in phase order.Post-apply gate (MANDATORY): after edits, run yarn build:declarations (typechecks the whole graph via src/types.ts, ~2s) and npx eslint --ext .ts src/<touched dirs>, then npx prettier --write <touched files only> (NOT yarn lint — it reformats the whole tree). Fix any diagnostics before reporting done. The gate proves edits are type-valid; it does not validate optionality/breaking-change judgment — those stay under "Needs attention".
Post-apply description-coverage review: re-run diff.mjs on each edited (op, type) pair and look at the JSDoc may drop … flags. This catches the common failure where the apply step shortened a description while writing JSDoc — especially on newly-added fields, where a coverage gap is almost certainly accidental truncation (you just added it from the spec — restore the dropped content). For pre-existing fields, judge intentional drift vs accidental per the Phase 2 rules. This is a review, not a hard gate — fix accidental loss, keep deliberate deviations.
For a resource or all, fan out one agent per resource (never per endpoint — the request-vs-response Pick decision needs both specs in one context; never per check — the phases are dependency-ordered). Each agent runs the full analyze step for its resource and writes verbatim findings to .tmp/sync-api/report-<resource>.json (apply reads these, immune to context summarization). Use the contract in references/agent-prompt.md. --only scopes each agent's phases.
© mollie, BSD-3-Clause. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 6 other files (scripts, references) in .claude/skills/sync-api of mollie/mollie-api-node.
Open the folder on GitHubat commit b210b06
Sync API next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Sync API this skillmollie/mollie-api-node | 297 | — | ~3.6k | Automated safety check: Pass | BSD-3-Clause | |
| CLI Creatorhuangruiteng/CS-Notes | 4k | 2 repos | ~2.7k | Automated safety check: Pass | Apache-2.0 | |
| Api2clialexknowshtml/api2cli | 455 | — | ~2.9k | Automated safety check: Pass | MIT | |
| OpenAPI Spec Generationwshobson/agents | 40k | 9 repos | ~511 | Automated safety check: Pass | MIT | |
| API Spec AnalyzerMadAppGang/claude-code | 283 | 1 repos | ~2.7k | Automated safety check: Pass | MIT | |
| Sap API Stylesecondsky/sap-skills | 460 | — | ~4.4k | Automated safety check: Pass | GPL-3.0 |
huangruiteng/CS-Notes
Build a composable CLI for Codex from API docs, an OpenAPI spec, existing curl examples, an SDK, a web app, an admin tool, or a local script.
alexknowshtml/api2cli
Generate a working CLI from any API, then wrap it in a Claude Code skill.
wshobson/agents
Create, validate and maintain OpenAPI 3.1 specs for REST APIs, whether designed first or generated from existing code, and use them for docs and client SDKs.
MadAppGang/claude-code
Analyzes API documentation from OpenAPI specs to provide TypeScript interfaces, request/response formats, and implementation guidance.
secondsky/sap-skills
This skill provides comprehensive guidance for documenting SAP APIs following the SAP API Style Guide standards.
codewithmukesh/dotnet-claude-kit
Scalar API documentation UI for .NET 10 applications. An agent skill from codewithmukesh/dotnet-claude-kit.
Categories
Reconcile the SDK against the Mollie API spec — checks and optionally fixes types, JSDoc, enums, deprecations, endpoint coverage, and helper wiring. Sync API is an agent skill from mollie/mollie-api-node. Reconcile the SDK against the Mollie API spec — checks and optionally fixes types, JSDoc, enums, deprecations, endpoint coverage, and helper wiring.
Sync API fits situations like: syncing the SDK with the official API for a single endpoint; tasks that involve OpenAPI specifications; tasks that involve Technical documentation.
Run `npx skills add mollie/mollie-api-node --skill sync-api -a claude-code`. Or copy the skill folder (.claude/skills/sync-api in mollie/mollie-api-node) into .claude/skills/sync-api in your project. Claude Code loads it when a task matches its description.
Run `npx skills add mollie/mollie-api-node --skill sync-api -a codex`. Or copy the skill folder (.claude/skills/sync-api in mollie/mollie-api-node) into .agents/skills/sync-api in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add mollie/mollie-api-node --skill sync-api -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/sync-api, .gemini/skills/sync-api, .github/skills/sync-api and .opencode/skills/sync-api in your project.
Going by SKILL.md and its folder, Sync API needs JavaScript for the scripts in its folder and the command-line tools its instructions call (node, git, yarn and npx). Our summary lists: Node.js.
SKILL.md contains no URLs. Its commands use git and npx, which can reach the network depending on how they are called. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.
Sync API is published under the BSD-3-Clause licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 3.6k tokens (SKILL.md is roughly 14k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 3k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Sync API: CLI Creator (huangruiteng/CS-Notes, 4k stars), Api2cli (alexknowshtml/api2cli, 455 stars), OpenAPI Spec Generation (wshobson/agents, 40k stars) and API Spec Analyzer (MadAppGang/claude-code, 283 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
mollie (a GitHub organization) maintains it in mollie/mollie-api-node, which has 297 GitHub stars. The repository was last updated on August 20, 2026.
Source: mollie/mollie-api-node on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.