@papra/api-sdk
Version:
Api SDK for Papra, the document archiving platform.
99 lines • 2.14 kB
TypeScript
//#region src/api-client.types.d.ts
type PapraDocument = {
id: string;
name: string;
mimeType: string;
originalName: string;
originalSize: number;
originalStorageKey: string;
originalSha256Hash: string;
organizationId: string;
createdBy: string;
deletedBy: string | null;
createdAt: Date;
updatedAt: Date;
deletedAt: Date | null;
isDeleted: boolean;
content: string;
};
type PapraTag = {
id: string;
name: string;
color: string;
description?: string;
organizationId: string;
createdAt: string;
updatedAt: string;
};
//#endregion
//#region src/api-client.d.ts
declare const PAPRA_API_URL = "https://api.papra.app";
type Client = ReturnType<typeof createClient>;
declare function createClient({
apiKey,
apiBaseUrl
}: {
apiKey: string;
apiBaseUrl?: string;
}): {
forOrganization: (organizationId: string) => {
uploadDocument: (args: {
file: File;
}) => Promise<{
document: PapraDocument;
}>;
listOrganizations: () => Promise<{
organizations: {
id: string;
name: string;
}[];
}>;
listTags: () => Promise<{
tags: PapraTag[];
}>;
createTag: (args: {
name: string;
color: string;
description?: string | undefined;
}) => Promise<{
tag: PapraTag;
}>;
addTagToDocument: (args: {
documentId: string;
tagId: string;
}) => Promise<void>;
};
uploadDocument: (args: {
file: File;
organizationId: string;
}) => Promise<{
document: PapraDocument;
}>;
listOrganizations: () => Promise<{
organizations: {
id: string;
name: string;
}[];
}>;
listTags: (args: {
organizationId: string;
}) => Promise<{
tags: PapraTag[];
}>;
createTag: (args: {
organizationId: string;
name: string;
color: string;
description?: string | undefined;
}) => Promise<{
tag: PapraTag;
}>;
addTagToDocument: (args: {
organizationId: string;
documentId: string;
tagId: string;
}) => Promise<void>;
};
//#endregion
export { type Client, PAPRA_API_URL, createClient };
//# sourceMappingURL=index.d.ts.map