SDKsTypeScript SDK
TypeScript SDK
@aivyro/sdk speaks public REST only. It refuses paths that contain graphql.
The official client lives in the Aivyro monorepo as @aivyro/sdk. Use it from the workspace today. Public npm registry publish is a separate step — this guide does not claim the package is already on public npm.
import { Aivyro, AivyroApiError } from '@aivyro/sdk';
const aivyro = new Aivyro({
apiKey: process.env.AIVYRO_API_KEY!,
baseUrl: 'https://api.aivyro.io',
});
const company = await aivyro.companies.create(
{ name: 'Analytical Engines', domain: 'analytical.example' },
{ idempotencyKey: 'co-1' },
);
const contact = await aivyro.contacts.create(
{ display_name: 'Ada Lovelace', email: 'ada@analytical.example', company_id: company.id },
{ idempotencyKey: 'ct-1' },
);
try {
await aivyro.contacts.get('00000000-0000-0000-0000-000000000000');
} catch (error) {
if (error instanceof AivyroApiError) {
// error.status, error.type, error.code, error.message, error.requestId
}
}| Surface | Methods |
|---|---|
| aivyro.contacts | list, get, create, update, upsert, sendWhatsappTemplate |
| aivyro.companies | list, get, create, update, upsert |
| aivyro.deals / stages / members / tags | Day-1 CRUD + stages.list + members.list + tags.create |
| aivyro.notes / tasks | list, get, create, update |
| aivyro.meetings | list, get, transcript |
| aivyro.conversations | list, get, update, messages, reply, notes, addNote, addTag, removeTag, participants, addParticipant, removeParticipant, sendWhatsappTemplate |
| aivyro.conversationTags | list |
| aivyro.sequences | list, get, enroll |
| aivyro.webhooks | list, get, create, update, delete, listDeliveries, rotateSecret |
contacts.update cannot change email/phone. notes.create does not take an idempotency key.