TypeScript client library for the Iterable API.
This library is currently in active development. While it is used in production by the Iterable MCP server, it is still considered experimental. We are rapidly iterating on features and improvements, so you may encounter breaking changes or incomplete type definitions.
We welcome early adopters and feedback! If you're building with it, please stay in touch via issues or pull requests.
npm install @iterable/apiimport{IterableClient}from'@iterable/api';constclient=newIterableClient({apiKey: 'your-api-key'});constuser=awaitclient.getUserByEmail('[email protected]');// Track eventawaitclient.trackEvent({email: '[email protected]',eventName: 'purchase',dataFields: {amount: 99.99}});// Send emailawaitclient.sendEmail({campaignId: 123456,recipientEmail: '[email protected]'});// From environment variablesconstclient=newIterableClient(createIterableConfig());// Or configure directlyconstclient=newIterableClient({apiKey: 'your-api-key',baseUrl: 'https://api.iterable.com',// optionaltimeout: 30000,// optionaldebug: true,// log requests/responses (headers/params redacted)debugVerbose: false// set true to log response bodies (CAUTION: may contain PII)});ITERABLE_API_KEY=your-api-key # Required ITERABLE_DEBUG=true # Enable basic debug logging ITERABLE_DEBUG_VERBOSE=true # Enable full body logging (includes PII) LOG_LEVEL=info # Log level LOG_FILE=./logs/iterable.log # Log to filepnpm install pnpm build # Build with linting pnpm test# Run all tests pnpm test:unit # Unit tests only# Integration tests (requires API key) ITERABLE_API_KEY=your-key pnpm test:integrationThis project is licensed under the MIT License - see the LICENSE file for details.