SDKs
The public hosted widget, the language-agnostic HTTP API, and private-preview packages.
Stile's public integration surfaces split cleanly by where your code runs. A typical integration uses the hosted widget in the browser and direct HTTPS from your backend. This works with any server language and requires no Stile package installation.
| Surface | Distribution | Runs | Use it to |
|---|---|---|---|
| Hosted widget | https://js.stile.id/v1/stile.js | The browser | Embed <stile-frame> with no build step. |
| HTTP API | https://api.stile.id/v1/ | Your server | Integrate from any backend with its HTTP client. |
| Node.js private preview | Access provided directly by Stile | Your server | Evaluate the typed client before public release. |
No backend SDK required
Call the HTTP API directly from Node.js, Python, Ruby, Go, PHP, Java, .NET, or any other server platform. Every endpoint is documented, and webhook signatures can be verified with each language's standard cryptography library.
Hosted widget
The public frontend half of an integration. Load <stile-frame> from the CDN with a single script tag. The widget handles the camera, document capture, and the entire verification UI — your page supplies a backend session-url and listens for provisional UI events while your server waits for the signed webhook.
<script src="https://js.stile.id/v1/stile.js"></script>The repository's @stile/widget package also contains <stile-button>, verify(), and create(), but it is currently private and not published to public npm. See the Widget reference for the public contract and private-preview boundary.
Node.js SDK private preview
@stile/node is not published to public npm. It is a private-preview convenience wrapper whose methods map 1:1 to the HTTP API. Use direct HTTPS for public integrations. Only use the package when Stile has explicitly provided package access and version-specific setup instructions.
Which do I need?
- Gating a checkout or signup? Use the hosted widget on the frontend, direct HTTPS for session creation, and a signed webhook on the backend. Start with the Quickstart.
- Creating sessions from any backend? POST to the Verification Sessions API, then return the
client_secretthrough your authenticatedsession-urlendpoint. - Invited to the Node.js private preview? Use the Node.js reference with the access instructions Stile provided.
Next steps
Widget SDK
The public hosted frame, session-url contract, and private-preview API boundary.
Node.js private preview
Reference for approved preview users; not publicly installable from npm.
HTTP API
Integrate from any language — no SDK required.
Build with AI
Hand the docs to a coding agent and let it write the integration.