Below you can check the types of events that are available to be used in your webhooks.

Upload created

This event is triggered when a new upload is created.

export interface UploadCreatedWebhookEvent {
  trigger: 'upload.created',
  payload: {
    id: string;
    title: string;
    description: string | null;
    duration: number;
    collectionId: string;
    folderId?: string | null;
    externalId?: string | null;
    streamUrl?: string | null;
    tags: string[];
    metadata?: Record<string, string> | null;
  }
}

Upload updated

This event is triggered when an upload is updated.

export interface UploadUpdatedWebhookEvent {
  trigger: 'upload.updated',
  payload: {
    id: string;
    title: string;
    description: string | null;
    duration: number;
    collectionId: string;
    folderId?: string | null;
    externalId?: string | null;
    streamUrl?: string | null;
    tags: string[];
    metadata?: Record<string, string> | null;
  }
}

Upload deleted

This event is triggered when an upload is deleted.

export interface UploadDeletedWebhookEvent {
  trigger: 'upload.deleted',
  payload: {
    id: string;
    collectionId: string;
    metadata?: Record<string, string> | null;
  }
}

Upload transcription created

This event is triggered when a transcription is created for an upload.

export interface UploadTranscriptionCreatedWebhookEvent {
  trigger: 'upload.transcription.created',
  payload: {
    id: string;
    uploadId: string;
    collectionId: string;
    metadata: Record<string, string> | null;
    text: string;
    segments: {
      text: string;
      timestamp: [number, number];
    }[];
    metadata?: Record<string, string> | null;
  }
}

Tag created

This event is triggered when a new tag is created.

export interface TagCreatedWebhookEvent {
  trigger: 'tag.created',
  payload: {
    slug: string;
  }
}

Tag deleted

This event is triggered when a tag is deleted.

export interface TagDeletedWebhookEvent {
  trigger: 'tag.deleted',
  payload: {
    slug: string;
  }
}