Skip to main content

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.

first contact
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
  }
}
SurfaceMethods
aivyro.contactslist, get, create, update, upsert, sendWhatsappTemplate
aivyro.companieslist, get, create, update, upsert
aivyro.deals / stages / members / tagsDay-1 CRUD + stages.list + members.list + tags.create
aivyro.notes / taskslist, get, create, update
aivyro.meetingslist, get, transcript
aivyro.conversationslist, get, update, messages, reply, notes, addNote, addTag, removeTag, participants, addParticipant, removeParticipant, sendWhatsappTemplate
aivyro.conversationTagslist
aivyro.sequenceslist, get, enroll
aivyro.webhookslist, get, create, update, delete, listDeliveries, rotateSecret

contacts.update cannot change email/phone. notes.create does not take an idempotency key.