@signa-so/sdk package is a typed, ergonomic client for the Signa API: full types for every endpoint and response, automatic pagination, built-in retries, and typed error classes.
The SDK is designed for server-side use. A Signa API key grants full access to your org’s data; putting one in browser code exposes it to every visitor. Proxy requests through your own backend instead.
Install
Configure
api_key, the client reads SIGNA_API_KEY from the environment:
Resources
The client organizes the API into 19 resource namespaces:Search and list trademarks
search() takes a text query with structured filters under filters, plus options for aggregations and totals:
list() is for filter-only or simple-query listing. Its filters are flat top-level params, not nested:
SignaList, see Pagination below.
Retrieve and batch
Pagination
Every list and search method returns aSignaList<T>, which supports three consumption patterns. The first page is fetched eagerly; later pages are fetched lazily.
Async iteration, the simplest approach:
toArray(). A safety cap of 10,000 items applies by default; pass { limit } to change it:
getNextPage() returns an empty list (not an error) once there are no more pages. Every SignaList exposes data, has_more, request_id, and, on search responses, search_meta and aggregations. There is no public pagination field on the list itself, use has_more and getNextPage() to drive pagination rather than reaching for a cursor directly.
Error handling
All errors extendSignaError. API errors (4xx/5xx) extend SignaAPIError and carry a typed subclass per status code:
instanceof to handle specific error types:
SignaAPIError carries the structured error body plus the request ID:
Automatic retries
An explicit
retryable: false in the server’s error body overrides the status-based rule: a deterministic failure like the watch preview’s 504 timeout is not retried, since a blind retry would re-run the same over-budget work. Retries use exponential backoff with jitter.