Available on every plan, including the free one. The v1 API and the official SDKs are enabled for every woku account. See the plans.
@wokuapp/sdk SDK is the official server-side client for the woku
management API. With a single typed client you manage external trackers, VoC
tools (NPS, CSAT, CES), wokus, forms, flows, action plans, support
tickets, survey sends and delivery tracking, all over the public v1 API.
Installation
fetch). It has zero runtime
dependencies.
Initialization
Create aWoku instance once and reuse it.
apiKey, the SDK reads the WOKU_API_KEY environment variable. You
can also pass the key directly: new Woku('sk_...').
Authentication
The SDK authenticates with the Company Key, the same secret key the API uses. The company owner gets it from the company Information section in the admin app: admin.woku.app.Rotate or revoke the key
Since the secret key grants full access, you can rotate or revoke it from the SDK itself. Rotating generates a new key and immediately invalidates the previous one; store the returned key before continuing.Quickstart
An end-to-end flow: create a tracker, create an NPS tool, tag it with the tracker, send it and read the response rate.Main flows
VoC tools
Create and manage NPS, CSAT and CES tools, and capture their responses.Support tickets
Tickets are generated by woku’s AI. You can list, filter and curate them.Action plans
Approve and manage action plans inside woku: change their status and manage their tasks.Pagination
List methods return aPage. Iterate every item across pages, or walk page by
page:
Idempotency
GETs and protected writes retry with the same key: tracker or NPS/CSAT/CES tool creation, invitations for all five types, and journey create, enroll, stop, URL minting and event emission. Other writes, uploads and secret rotations are attempted once. A key alone does not add idempotency to an unsupported endpoint. Deduplication lasts 24 hours. Uncertain outcomes retain their record; inspect the result before changing the key or retrying outside that window.Error handling
Every failure is aWokuError. HTTP errors are typed subclasses carrying the
server status, body and requestId:
WokuConnectionError and
WokuTimeoutError. The SDK retries GETs and idempotent writes automatically
with backoff, honoring the Retry-After header.
Per-call configuration
Every method accepts overrides in its last argument:Reference
Complete reference of namespaces and methods. For the exact request and response shapes, see the API reference.actionPlans
Reads and drives action plans, including the managed kanban (tasks, AI conversation, and status transitions).actionPlanGroups
Manages action-plan groups (list, fetch with stats, create, update, enable/disable, and delete).company
Manages the caller company and its API key at /v1/companies/me.dispatches
Delivery tracking over invitation dispatches (/v1/dispatches).flows
Read-only access to survey flows (/v1/flows): list them and fetch one by id.forms
Reads forms and their responses, and sends form invitations over /v1/forms.quarantines
Checks whether a respondent contact is quarantined via the /v1/quarantines endpoint.reports
Reads NPS reports at /v1/reports (company-level and per NPS tool).nps
Sends the NPS survey and reads its responses (/v1/nps).csat
Sends the CSAT survey and reads its responses (/v1/csat).ces
Sends the CES survey and reads its responses (/v1/ces).tickets
Reads and curates AI-generated support tickets under /v1/tickets.ticketDestinations
Manages SAC ticket destinations under /v1/ticket-destinations.trackers
Manages external tracker definitions and assigns/removes tracker values on wokus and VoC entities (/v1/external-trackers).npsTools
Manage NPS tool (survey) definitions under /v1/nps-tools.csatTools
Manage CSAT tool (survey) definitions under /v1/csat-tools.cesTools
Manage CES tool (survey) definitions under /v1/ces-tools.wokus
Manages wokus (feedback collection tools) under /v1/wokus, including reviews, settings, folder moves, invitations, and sharing.Resources
trackers, npsTools / csatTools / cesTools, nps / csat / ces,
wokus, forms, flows, actionPlans, actionPlanGroups, tickets,
ticketDestinations, dispatches, reports, company, quarantines.
Versioning
These additions are prepared for the next release. Check the npm/PyPI package changelog for the version actually published before using the new methods.Resources
- npm package: @wokuapp/sdk
- Code and examples: github.com/wokuApp/sdks
- Equivalent Python SDK: Python SDK
- API reference: API Integration Guide
Journeys and local media
The server SDK exposes all 17 journey operations and a lazy enrollment iterator. Uploads use multipart with a generated response type; 413 raisesPayloadTooLargeError. Company keys stay on your backend.
journeys
Every method also accepts per-call options as its final argument.
Enrollment lists return
{ items, nextCursor }, with a maximum limit of 100 and a default of 20. The separate Admin table endpoint uses pages of up to 50.
iterEnrollments(id, params, options) traverses those cursor pages lazily.