Skip to main content
Polymorfa publishes TypeScript packages on npm. From any other language, call the HTTP API directly. All packages are development prereleases under the npm dev tag. Pin the exact version you install. For browser calling, see the Calls guide. Pin the API contract separately from the package version. Use 2026-09-22; unsupported dates, including newer dates, return 400 invalid_parameter. See API versioning. Manage organization keys and project tokens in the Console. SDKs provide client-token operations; they cannot create, list or revoke organization keys or project tokens.

TypeScript SDK

Start with installation, then create a client. Spending limits and funding priorities use an organization credential with billing:read or billing:manage. See spending controls for requests through the server SDK. Browser client tokens cannot access these financial controls. Optional STOP confirmations require beta access and an explicit team preference. Keep your installed client aligned with the settings and summary HTTP contracts; use the documented HTTP routes if the package lacks those methods. A package upgrade does not enable acknowledgements or grant beta access. For Official API identities and contact blocking, use the identity contract. Keep optional phone numbers separate from BSUIDs, and preserve parent IDs as metadata. Check your pinned package’s types before reading newly added webhook fields; use the documented HTTP routes when a package lacks the matching contract.

Use the HTTP API from other languages

Send your key as a bearer token and pin the API version:
Every method page in the API reference has a cURL example and a request playground. See Authentication, Errors, and Pagination for the rules every request follows. Keep team keys and project credentials on your server. Browser and mobile code uses a short-lived client token. For WhatsApp message engagement, call outcomes and connection vitals, see the TypeScript Analytics guide and Analytics API. The typed SDK resource is included in version 0.1.0-dev.20261004011426. Resource financial controls use the Platform API for project, customer and number UUIDs. Read GET /platform/billing/controls/{scope}/{resourceId} to obtain one resource’s cap, priority and both revisions. PUT on the same route saves both values atomically. Server SDK consumers can use their raw transport until typed methods are included in their installed package. Real QuickLink creation accepts optional billingControls: { limitCredits, priority } with a team billing:manage credential; testing and supplementary connections reject those values.

Mixed funding leaderboard

Read one project’s priorities with GET /platform/billing/priorities?projectId=PROJECT_UUID. Reorder its customers and real numbers together with PUT /platform/billing/priorities:
Include every active customer and real number in the selected project. Use the revision from its read; concurrent changes return 409. A higher number priority outranks customer priority within its project. Project priority and all spending caps still apply. Use the published client’s raw request method for these calls. SDK versions containing the capability-change and group-capability contracts provide SessionCapabilitiesUpdatedPayload, GroupCapabilities, and messaging.groups.getCapabilities. Check your installed version’s API before using these additions; Number capabilities describes their enrolled-beta requirements. Other language SDKs do not expose these TypeScript methods. Client-token allow is an immutable ceiling intersected with live Number rules. Session allow requires enrollment in the action-ceilings beta; Customer narrowing retains its existing token format. Regional chat and contact action names are reserved for enrolled beta access, not public regional availability. See Client tokens.