@owlrelay/api-sdk
Version:
OwlRelay API SDK for JavaScript and TypeScript
63 lines (61 loc) • 1.76 kB
text/typescript
declare const OWLRELAY_API_BASE_URL = "https://api.owlrelay.email";
type OwlRelayEmail = {
id: string;
domain: string;
username: string;
webhookUrl: string;
webhookSecret: string;
isEnabled: boolean;
allowedOrigins: string[];
createdAt: Date;
updatedAt: Date;
};
type OwlRelayEmailProcessing = {
id: string;
emailId: string;
status: string;
error?: string;
fromAddress: string;
subject: string;
webhookUrl?: string;
webhookResponseStatusCode?: number;
createdAt: Date;
updatedAt: Date;
};
declare function createClient({ apiKey, baseApiUrl, }: {
apiKey: string;
baseApiUrl?: string;
}): {
updateEmail: ({ emailId, ...body }: {
emailId: string;
} & Partial<Omit<OwlRelayEmail, "id" | "createdAt" | "updatedAt">>) => Promise<OwlRelayEmail>;
enableEmail: ({ emailId }: {
emailId: string;
}) => Promise<OwlRelayEmail>;
disableEmail: ({ emailId }: {
emailId: string;
}) => Promise<OwlRelayEmail>;
getEmails: () => Promise<OwlRelayEmail[]>;
createEmail: (body: {
domain?: string;
username: string;
webhookUrl: string;
webhookSecret?: string;
allowedOrigins?: string[];
}) => Promise<OwlRelayEmail>;
deleteEmail: (args: {
emailId: string;
} | {
emailAddress: string;
} | {
username: string;
domain: string;
}) => Promise<void>;
getEmail: ({ emailId }: {
emailId: string;
}) => Promise<OwlRelayEmail>;
getEmailProcessings: ({ emailId }: {
emailId: string;
}) => Promise<OwlRelayEmailProcessing[]>;
};
export { OWLRELAY_API_BASE_URL, type OwlRelayEmail, type OwlRelayEmailProcessing, createClient };