> ## Documentation Index
> Fetch the complete documentation index at: https://docs.signa.so/llms.txt
> Use this file to discover all available pages before exploring further.

# TypeScript SDK

> Official TypeScript SDK for the Signa API

The `@signa-so/sdk` package provides a typed, ergonomic client for the Signa API.

## Features

* Full TypeScript types for all endpoints and responses
* Automatic pagination with async iterators, manual paging, or `toArray()`
* Built-in retry with exponential backoff (429, 5xx, network errors)
* Typed error classes for every HTTP status code
* Tree-shakeable ESM module

## Quick Example

```typescript theme={null}
import { Signa } from '@signa-so/sdk';

const signa = new Signa({ api_key: process.env.SIGNA_API_KEY });

// Search trademarks with phonetic matching
const results = await signa.trademarks.search({
  query: 'SIGNA',
  strategies: ['exact', 'phonetic'],
  filters: { offices: ['uspto', 'euipo'], nice_classes: [9, 42] },
  options: { aggregations: ['office_code'] },
});

// Get a specific trademark (full detail tier)
const mark = await signa.trademarks.retrieve('tm_abc123');

// List an owner's marks with auto-pagination
for await (const tm of signa.owners.trademarks('own_def456')) {
  console.log(tm.mark_text);
}
```

## Resources

The SDK organizes the API into resource namespaces:

| Namespace           | Description                                                         |
| ------------------- | ------------------------------------------------------------------- |
| `signa.trademarks`  | Search, retrieve, history, batch, related marks, proceedings, media |
| `signa.owners`      | Owner profiles, trademark portfolios, corporate relationships       |
| `signa.attorneys`   | Attorney profiles, trademark portfolios, client lists               |
| `signa.firms`       | Law firm profiles, attorneys, trademark portfolios                  |
| `signa.proceedings` | Oppositions, cancellations, tribunal proceedings                    |
| `signa.references`  | Classifications, offices, jurisdictions, statuses, design codes     |
| `signa.suggest`     | Cross-entity autocomplete                                           |
