UNPKG

@docuseal/api

Version:

JavaScript / TypeScript library for the DocuSeal API

95 lines (94 loc) 3.07 kB
import { Http } from "./http.js"; export class DocusealApi { constructor(config = {}) { this.key = config.key || ""; this.url = config.url || "https://api.docuseal.com"; this.openTimeout = config.openTimeout || 60000; this.http = new Http(this); } configure(config = {}) { if (config.key) { this.key = config.key; } if (config.url) { this.url = config.url; } if (config.openTimeout) { this.openTimeout = config.openTimeout; } } async listTemplates(query) { return this.http.get("/templates", query); } async getTemplate(id, query) { return this.http.get(`/templates/${id}`, query); } async createTemplateFromDocx(data) { return this.http.post("/templates/docx", data); } async createTemplateFromHtml(data) { return this.http.post("/templates/html", data); } async createTemplateFromPdf(data) { return this.http.post("/templates/pdf", data); } async mergeTemplates(data) { return this.http.post("/templates/merge", data); } async cloneTemplate(id, data) { return this.http.post(`/templates/${id}/clone`, data); } async updateTemplate(id, data) { return this.http.put(`/templates/${id}`, data); } async updateTemplateDocuments(id, data) { return this.http.put(`/templates/${id}/documents`, data); } async archiveTemplate(id) { return this.http.delete(`/templates/${id}`); } async permanentlyDeleteTemplate(id) { return this.http.delete(`/templates/${id}`, { permanently: true, }); } async listSubmissions(query) { return this.http.get("/submissions", query); } async getSubmission(id, query) { return this.http.get(`/submissions/${id}`, query); } async getSubmissionDocuments(id, query) { return this.http.get(`/submissions/${id}/documents`, query); } async createSubmission(data) { return this.http.post("/submissions/init", data); } async createSubmissionFromEmails(data) { return this.http.post("/submissions/emails", data); } async createSubmissionFromPdf(data) { return this.http.post("/submissions/pdf", data); } async createSubmissionFromHtml(data) { return this.http.post("/submissions/html", data); } async createSubmissionFromDocx(data) { return this.http.post("/submissions/docx", data); } async archiveSubmission(id) { return this.http.delete(`/submissions/${id}`); } async permanentlyDeleteSubmission(id) { return this.http.delete(`/submissions/${id}`, { permanently: true }); } async listSubmitters(query) { return this.http.get("/submitters", query); } async getSubmitter(id, query) { return this.http.get(`/submitters/${id}`, query); } async updateSubmitter(id, data) { return this.http.put(`/submitters/${id}`, data); } }