@docuseal/api
Version:
JavaScript / TypeScript library for the DocuSeal API
95 lines (94 loc) • 3.07 kB
JavaScript
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);
}
}