/* tslint:disable */ /* eslint-disable */ /** * Dropsigner *

Authentication

In order to call this APIs, you will need an API key. Set the API key in the header X-Api-Key:

X-Api-Key: your-app|xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

HTTP Codes

The APIs will return the following HTTP codes:

Code Description
200 (OK) Request processed successfully. The response is different for each API, please refer to the operation's documentation
400 (Bad Request) Syntax error. For instance, when a required field was not provided
401 (Unauthorized) API key not provided or invalid
403 (Forbidden) API key is valid, but the application has insufficient permissions to complete the requested operation
422 (Unprocessable Entity) API error. The response is as defined in ErrorModel

Error Codes

Some of the error codes returned in a 422 response are provided bellow*:

*The codes shown above are the main error codes. Nonetheless, this list is not comprehensive. New codes may be added anytime without previous warning.


Webhooks

It is recomended to subscribe to Webhook events instead of polling APIs. To do so, enable webhooks and register an URL that will receive a POST request whenever one of the events bellow occur.

All requests have the format described in Webhooks.WebhookModel. The data field varies according to the webhook event type:

Event type Description Payload
DocumentSigned Triggered when a document is signed. Webhooks.DocumentSignedModel
DocumentApproved Triggered when a document is approved. Webhooks.DocumentApprovedModel
DocumentRefused Triggered when a document is refused. Webhooks.DocumentRefusedModel
DocumentConcluded Triggered when the flow of a document is concluded. Webhooks.DocumentConcludedModel
DocumentCanceled Triggered when the document is canceled. Webhooks.DocumentCanceledModel
DocumentExpired (v1.33.0) Triggered when the document is expired. Webhooks.DocumentExpiredModel
DocumentsCreated (v1.50.0) Triggered when one or more documents are created. Webhooks.DocumentsCreatedModel
DocumentsDeleted (v1.78.0) Triggered when one or more documents are deleted. Webhooks.DocumentsDeletedModel

To register your application URL and enable Webhooks, access the integrations section in your organization's details page.

* * OpenAPI spec version: 2.6.0 * * * NOTE: This class is auto generated by the swagger code generator program. * https://github.com/swagger-api/swagger-codegen.git * Do not edit the class manually. */ import globalAxios, { AxiosResponse, AxiosInstance, AxiosRequestConfig } from 'axios'; import { Configuration } from '../configuration'; // Some imports not used depending on template conditions // @ts-ignore import { BASE_PATH, COLLECTION_FORMATS, RequestArgs, BaseAPI, RequiredError } from '../base'; import { DocumentMarkMarksSessionCreateRequest } from '../models'; import { DocumentMarkMarksSessionCreateResponse } from '../models'; import { DocumentMarkMarksSessionModel } from '../models'; import { DocumentsCreateDocumentRequest } from '../models'; import { ErrorModel } from '../models'; /** * MarksSessionsApi - axios parameter creator * @export */ export const MarksSessionsApiAxiosParamCreator = function (configuration?: Configuration) { return { /** * The purpose of the positioning session is to allow users to visually position signer marks. The result of the session is the same request provided while creating it but with the flowAction's prePositioned marks attribute filled according to the positions selected for each action. Result will be available by iFrame event when embedding the positioning session or by retrieving the session information via the GET API. * @summary Creates a mark positioning session from a Document create request. * @param {DocumentsCreateDocumentRequest} [body] * @param {*} [options] Override http request option. * @throws {RequiredError} */ apiMarksSessionsDocumentsPost: async (body?: DocumentsCreateDocumentRequest, options: AxiosRequestConfig = {}): Promise => { const localVarPath = `/api/marks-sessions/documents`; // use dummy base URL string because the URL constructor only accepts absolute URLs. const localVarUrlObj = new URL(localVarPath, 'https://example.com'); let baseOptions; if (configuration) { baseOptions = configuration.baseOptions; } const localVarRequestOptions :AxiosRequestConfig = { method: 'POST', ...baseOptions, ...options}; const localVarHeaderParameter = {} as any; const localVarQueryParameter = {} as any; // authentication ApiKey required if (configuration && configuration.apiKey) { const localVarApiKeyValue = typeof configuration.apiKey === 'function' ? await configuration.apiKey("X-Api-Key") : await configuration.apiKey; localVarHeaderParameter["X-Api-Key"] = localVarApiKeyValue; } localVarHeaderParameter['Content-Type'] = 'application/json-patch+json'; const query = new URLSearchParams(localVarUrlObj.search); for (const key in localVarQueryParameter) { query.set(key, localVarQueryParameter[key]); } for (const key in options.params) { query.set(key, options.params[key]); } localVarUrlObj.search = (new URLSearchParams(query)).toString(); let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; const needsSerialization = (typeof body !== "string") || localVarRequestOptions.headers['Content-Type'] === 'application/json'; localVarRequestOptions.data = needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || ""); return { url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash, options: localVarRequestOptions, }; }, /** * * @summary Retrieves session information. * @param {string} id The session ID obtained when the session was created * @param {*} [options] Override http request option. * @throws {RequiredError} */ apiMarksSessionsIdGet: async (id: string, options: AxiosRequestConfig = {}): Promise => { // verify required parameter 'id' is not null or undefined if (id === null || id === undefined) { throw new RequiredError('id','Required parameter id was null or undefined when calling apiMarksSessionsIdGet.'); } const localVarPath = `/api/marks-sessions/{id}` .replace(`{${"id"}}`, encodeURIComponent(String(id))); // use dummy base URL string because the URL constructor only accepts absolute URLs. const localVarUrlObj = new URL(localVarPath, 'https://example.com'); let baseOptions; if (configuration) { baseOptions = configuration.baseOptions; } const localVarRequestOptions :AxiosRequestConfig = { method: 'GET', ...baseOptions, ...options}; const localVarHeaderParameter = {} as any; const localVarQueryParameter = {} as any; // authentication ApiKey required if (configuration && configuration.apiKey) { const localVarApiKeyValue = typeof configuration.apiKey === 'function' ? await configuration.apiKey("X-Api-Key") : await configuration.apiKey; localVarHeaderParameter["X-Api-Key"] = localVarApiKeyValue; } const query = new URLSearchParams(localVarUrlObj.search); for (const key in localVarQueryParameter) { query.set(key, localVarQueryParameter[key]); } for (const key in options.params) { query.set(key, options.params[key]); } localVarUrlObj.search = (new URLSearchParams(query)).toString(); let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; return { url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash, options: localVarRequestOptions, }; }, /** * The purpose of the positioning session is to allow users to visually position signer marks. The result of the session is the same request provided while creating it but with the flowAction's prePositioned marks attribute filled according to the positions selected for each action. Result will be available by iFrame event when embedding the positioning session or by retrieving the session information via the GET API. * @summary Creates a mark positioning session by requiring only the necessary data. * @param {DocumentMarkMarksSessionCreateRequest} [body] * @param {*} [options] Override http request option. * @throws {RequiredError} */ apiMarksSessionsPost: async (body?: DocumentMarkMarksSessionCreateRequest, options: AxiosRequestConfig = {}): Promise => { const localVarPath = `/api/marks-sessions`; // use dummy base URL string because the URL constructor only accepts absolute URLs. const localVarUrlObj = new URL(localVarPath, 'https://example.com'); let baseOptions; if (configuration) { baseOptions = configuration.baseOptions; } const localVarRequestOptions :AxiosRequestConfig = { method: 'POST', ...baseOptions, ...options}; const localVarHeaderParameter = {} as any; const localVarQueryParameter = {} as any; // authentication ApiKey required if (configuration && configuration.apiKey) { const localVarApiKeyValue = typeof configuration.apiKey === 'function' ? await configuration.apiKey("X-Api-Key") : await configuration.apiKey; localVarHeaderParameter["X-Api-Key"] = localVarApiKeyValue; } localVarHeaderParameter['Content-Type'] = 'application/json-patch+json'; const query = new URLSearchParams(localVarUrlObj.search); for (const key in localVarQueryParameter) { query.set(key, localVarQueryParameter[key]); } for (const key in options.params) { query.set(key, options.params[key]); } localVarUrlObj.search = (new URLSearchParams(query)).toString(); let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; const needsSerialization = (typeof body !== "string") || localVarRequestOptions.headers['Content-Type'] === 'application/json'; localVarRequestOptions.data = needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || ""); return { url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash, options: localVarRequestOptions, }; }, } }; /** * MarksSessionsApi - functional programming interface * @export */ export const MarksSessionsApiFp = function(configuration?: Configuration) { return { /** * The purpose of the positioning session is to allow users to visually position signer marks. The result of the session is the same request provided while creating it but with the flowAction's prePositioned marks attribute filled according to the positions selected for each action. Result will be available by iFrame event when embedding the positioning session or by retrieving the session information via the GET API. * @summary Creates a mark positioning session from a Document create request. * @param {DocumentsCreateDocumentRequest} [body] * @param {*} [options] Override http request option. * @throws {RequiredError} */ async apiMarksSessionsDocumentsPost(body?: DocumentsCreateDocumentRequest, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise>> { const localVarAxiosArgs = await MarksSessionsApiAxiosParamCreator(configuration).apiMarksSessionsDocumentsPost(body, options); return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => { const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url}; return axios.request(axiosRequestArgs); }; }, /** * * @summary Retrieves session information. * @param {string} id The session ID obtained when the session was created * @param {*} [options] Override http request option. * @throws {RequiredError} */ async apiMarksSessionsIdGet(id: string, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise>> { const localVarAxiosArgs = await MarksSessionsApiAxiosParamCreator(configuration).apiMarksSessionsIdGet(id, options); return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => { const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url}; return axios.request(axiosRequestArgs); }; }, /** * The purpose of the positioning session is to allow users to visually position signer marks. The result of the session is the same request provided while creating it but with the flowAction's prePositioned marks attribute filled according to the positions selected for each action. Result will be available by iFrame event when embedding the positioning session or by retrieving the session information via the GET API. * @summary Creates a mark positioning session by requiring only the necessary data. * @param {DocumentMarkMarksSessionCreateRequest} [body] * @param {*} [options] Override http request option. * @throws {RequiredError} */ async apiMarksSessionsPost(body?: DocumentMarkMarksSessionCreateRequest, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise>> { const localVarAxiosArgs = await MarksSessionsApiAxiosParamCreator(configuration).apiMarksSessionsPost(body, options); return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => { const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url}; return axios.request(axiosRequestArgs); }; }, } }; /** * MarksSessionsApi - factory interface * @export */ export const MarksSessionsApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) { return { /** * The purpose of the positioning session is to allow users to visually position signer marks. The result of the session is the same request provided while creating it but with the flowAction's prePositioned marks attribute filled according to the positions selected for each action. Result will be available by iFrame event when embedding the positioning session or by retrieving the session information via the GET API. * @summary Creates a mark positioning session from a Document create request. * @param {DocumentsCreateDocumentRequest} [body] * @param {*} [options] Override http request option. * @throws {RequiredError} */ async apiMarksSessionsDocumentsPost(body?: DocumentsCreateDocumentRequest, options?: AxiosRequestConfig): Promise> { return MarksSessionsApiFp(configuration).apiMarksSessionsDocumentsPost(body, options).then((request) => request(axios, basePath)); }, /** * * @summary Retrieves session information. * @param {string} id The session ID obtained when the session was created * @param {*} [options] Override http request option. * @throws {RequiredError} */ async apiMarksSessionsIdGet(id: string, options?: AxiosRequestConfig): Promise> { return MarksSessionsApiFp(configuration).apiMarksSessionsIdGet(id, options).then((request) => request(axios, basePath)); }, /** * The purpose of the positioning session is to allow users to visually position signer marks. The result of the session is the same request provided while creating it but with the flowAction's prePositioned marks attribute filled according to the positions selected for each action. Result will be available by iFrame event when embedding the positioning session or by retrieving the session information via the GET API. * @summary Creates a mark positioning session by requiring only the necessary data. * @param {DocumentMarkMarksSessionCreateRequest} [body] * @param {*} [options] Override http request option. * @throws {RequiredError} */ async apiMarksSessionsPost(body?: DocumentMarkMarksSessionCreateRequest, options?: AxiosRequestConfig): Promise> { return MarksSessionsApiFp(configuration).apiMarksSessionsPost(body, options).then((request) => request(axios, basePath)); }, }; }; /** * MarksSessionsApi - object-oriented interface * @export * @class MarksSessionsApi * @extends {BaseAPI} */ export class MarksSessionsApi extends BaseAPI { /** * The purpose of the positioning session is to allow users to visually position signer marks. The result of the session is the same request provided while creating it but with the flowAction's prePositioned marks attribute filled according to the positions selected for each action. Result will be available by iFrame event when embedding the positioning session or by retrieving the session information via the GET API. * @summary Creates a mark positioning session from a Document create request. * @param {DocumentsCreateDocumentRequest} [body] * @param {*} [options] Override http request option. * @throws {RequiredError} * @memberof MarksSessionsApi */ public async apiMarksSessionsDocumentsPost(body?: DocumentsCreateDocumentRequest, options?: AxiosRequestConfig) : Promise> { return MarksSessionsApiFp(this.configuration).apiMarksSessionsDocumentsPost(body, options).then((request) => request(this.axios, this.basePath)); } /** * * @summary Retrieves session information. * @param {string} id The session ID obtained when the session was created * @param {*} [options] Override http request option. * @throws {RequiredError} * @memberof MarksSessionsApi */ public async apiMarksSessionsIdGet(id: string, options?: AxiosRequestConfig) : Promise> { return MarksSessionsApiFp(this.configuration).apiMarksSessionsIdGet(id, options).then((request) => request(this.axios, this.basePath)); } /** * The purpose of the positioning session is to allow users to visually position signer marks. The result of the session is the same request provided while creating it but with the flowAction's prePositioned marks attribute filled according to the positions selected for each action. Result will be available by iFrame event when embedding the positioning session or by retrieving the session information via the GET API. * @summary Creates a mark positioning session by requiring only the necessary data. * @param {DocumentMarkMarksSessionCreateRequest} [body] * @param {*} [options] Override http request option. * @throws {RequiredError} * @memberof MarksSessionsApi */ public async apiMarksSessionsPost(body?: DocumentMarkMarksSessionCreateRequest, options?: AxiosRequestConfig) : Promise> { return MarksSessionsApiFp(this.configuration).apiMarksSessionsPost(body, options).then((request) => request(this.axios, this.basePath)); } }