# NOTE: This file is auto generated by OpenAPI Generator 7.11.0 (https://openapi-generator.tech).
# Do not edit this file manually.
defmodule Docspring.Api.PDF do
@moduledoc """
API calls for all endpoints tagged `PDF`.
"""
alias Docspring.Connection
import Docspring.RequestBuilder
@doc """
Add new fields to a Template
### Parameters
- `connection` (Docspring.Connection): Connection to server
- `template_id` (String.t):
- `data` (AddFieldsData):
- `opts` (keyword): Optional parameters
### Returns
- `{:ok, Docspring.Model.TemplateAddFieldsResponse.t}` on success
- `{:error, Tesla.Env.t}` on failure
"""
@spec add_fields_to_template(Tesla.Env.client, String.t, Docspring.Model.AddFieldsData.t, keyword()) :: {:ok, Docspring.Model.TemplateAddFieldsResponse.t} | {:error, Tesla.Env.t}
def add_fields_to_template(connection, template_id, data, _opts \\ []) do
request =
%{}
|> method(:put)
|> url("/templates/#{template_id}/add_fields")
|> add_param(:body, :body, data)
|> Enum.into([])
connection
|> Connection.request(request)
|> evaluate_response([
{200, Docspring.Model.TemplateAddFieldsResponse},
{422, Docspring.Model.TemplateAddFieldsResponse}
])
end
@doc """
Generates multiple PDFs
### Parameters
- `connection` (Docspring.Connection): Connection to server
- `data` (SubmissionBatchData):
- `opts` (keyword): Optional parameters
- `:wait` (boolean()): Wait for submission batch to be processed before returning. Set to false to return immediately. Default: true (on sync.* subdomain)
### Returns
- `{:ok, Docspring.Model.BatchGeneratePdfs201Response.t}` on success
- `{:error, Tesla.Env.t}` on failure
"""
@spec batch_generate_pdfs(Tesla.Env.client, Docspring.Model.SubmissionBatchData.t, keyword()) :: {:ok, Docspring.Model.ErrorResponse.t} | {:ok, Docspring.Model.MultipleErrorsResponse.t} | {:ok, Docspring.Model.BatchGeneratePdfs201Response.t} | {:error, Tesla.Env.t}
def batch_generate_pdfs(connection, data, opts \\ []) do
optional_params = %{
:wait => :query
}
request =
%{}
|> method(:post)
|> url("/submissions/batches")
|> add_param(:body, :body, data)
|> add_optional_params(optional_params, opts)
|> Enum.into([])
connection
|> Connection.request(request)
|> evaluate_response([
{201, Docspring.Model.BatchGeneratePdfs201Response},
{200, Docspring.Model.BatchGeneratePdfs201Response},
{401, Docspring.Model.ErrorResponse},
{422, Docspring.Model.MultipleErrorsResponse},
{400, Docspring.Model.ErrorResponse}
])
end
@doc """
Merge submission PDFs, template PDFs, or custom files
### Parameters
- `connection` (Docspring.Connection): Connection to server
- `data` (CombinePdfsData):
- `opts` (keyword): Optional parameters
### Returns
- `{:ok, Docspring.Model.CreateCombinedSubmissionResponse.t}` on success
- `{:error, Tesla.Env.t}` on failure
"""
@spec combine_pdfs(Tesla.Env.client, Docspring.Model.CombinePdfsData.t, keyword()) :: {:ok, Docspring.Model.ErrorResponse.t} | {:ok, Docspring.Model.CreateCombinedSubmissionResponse.t} | {:ok, Docspring.Model.MultipleErrorsResponse.t} | {:error, Tesla.Env.t}
def combine_pdfs(connection, data, _opts \\ []) do
request =
%{}
|> method(:post)
|> url("/combined_submissions?v=2")
|> add_param(:body, :body, data)
|> Enum.into([])
connection
|> Connection.request(request)
|> evaluate_response([
{201, Docspring.Model.CreateCombinedSubmissionResponse},
{422, Docspring.Model.MultipleErrorsResponse},
{400, Docspring.Model.ErrorResponse},
{401, Docspring.Model.ErrorResponse}
])
end
@doc """
Merge generated PDFs together
### Parameters
- `connection` (Docspring.Connection): Connection to server
- `data` (CombinedSubmissionData):
- `opts` (keyword): Optional parameters
- `:wait` (boolean()): Wait for combined submission to be processed before returning. Set to false to return immediately. Default: true (on sync.* subdomain)
### Returns
- `{:ok, Docspring.Model.CreateCombinedSubmissionResponse.t}` on success
- `{:error, Tesla.Env.t}` on failure
"""
@spec combine_submissions(Tesla.Env.client, Docspring.Model.CombinedSubmissionData.t, keyword()) :: {:ok, Docspring.Model.ErrorResponse.t} | {:ok, Docspring.Model.CreateCombinedSubmissionResponse.t} | {:ok, Docspring.Model.MultipleErrorsResponse.t} | {:error, Tesla.Env.t}
def combine_submissions(connection, data, opts \\ []) do
optional_params = %{
:wait => :query
}
request =
%{}
|> method(:post)
|> url("/combined_submissions")
|> add_param(:body, :body, data)
|> add_optional_params(optional_params, opts)
|> Enum.into([])
connection
|> Connection.request(request)
|> evaluate_response([
{201, Docspring.Model.CreateCombinedSubmissionResponse},
{422, Docspring.Model.MultipleErrorsResponse},
{400, Docspring.Model.ErrorResponse},
{401, Docspring.Model.ErrorResponse}
])
end
@doc """
Copy a Template
### Parameters
- `connection` (Docspring.Connection): Connection to server
- `template_id` (String.t):
- `opts` (keyword): Optional parameters
- `:body` (CopyTemplateOptions):
### Returns
- `{:ok, Docspring.Model.TemplatePreview.t}` on success
- `{:error, Tesla.Env.t}` on failure
"""
@spec copy_template(Tesla.Env.client, String.t, keyword()) :: {:ok, Docspring.Model.ErrorResponse.t} | {:ok, Docspring.Model.TemplatePreview.t} | {:error, Tesla.Env.t}
def copy_template(connection, template_id, opts \\ []) do
optional_params = %{
:body => :body
}
request =
%{}
|> method(:post)
|> url("/templates/#{template_id}/copy")
|> add_optional_params(optional_params, opts)
|> ensure_body()
|> Enum.into([])
connection
|> Connection.request(request)
|> evaluate_response([
{200, Docspring.Model.TemplatePreview},
{404, Docspring.Model.ErrorResponse}
])
end
@doc """
Create a new custom file from a cached presign upload
### Parameters
- `connection` (Docspring.Connection): Connection to server
- `data` (CreateCustomFileData):
- `opts` (keyword): Optional parameters
### Returns
- `{:ok, Docspring.Model.CreateCustomFileResponse.t}` on success
- `{:error, Tesla.Env.t}` on failure
"""
@spec create_custom_file_from_upload(Tesla.Env.client, Docspring.Model.CreateCustomFileData.t, keyword()) :: {:ok, Docspring.Model.ErrorResponse.t} | {:ok, Docspring.Model.CreateCustomFileResponse.t} | {:error, Tesla.Env.t}
def create_custom_file_from_upload(connection, data, _opts \\ []) do
request =
%{}
|> method(:post)
|> url("/custom_files")
|> add_param(:body, :body, data)
|> Enum.into([])
connection
|> Connection.request(request)
|> evaluate_response([
{201, Docspring.Model.CreateCustomFileResponse},
{401, Docspring.Model.ErrorResponse}
])
end
@doc """
Creates a new event for emailing a signee a request for signature
### Parameters
- `connection` (Docspring.Connection): Connection to server
- `data_request_id` (String.t):
- `event` (CreateSubmissionDataRequestEventRequest):
- `opts` (keyword): Optional parameters
### Returns
- `{:ok, Docspring.Model.CreateSubmissionDataRequestEventResponse.t}` on success
- `{:error, Tesla.Env.t}` on failure
"""
@spec create_data_request_event(Tesla.Env.client, String.t, Docspring.Model.CreateSubmissionDataRequestEventRequest.t, keyword()) :: {:ok, Docspring.Model.ErrorResponse.t} | {:ok, Docspring.Model.CreateSubmissionDataRequestEventResponse.t} | {:ok, Docspring.Model.MultipleErrorsResponse.t} | {:error, Tesla.Env.t}
def create_data_request_event(connection, data_request_id, event, _opts \\ []) do
request =
%{}
|> method(:post)
|> url("/data_requests/#{data_request_id}/events")
|> add_param(:body, :body, event)
|> Enum.into([])
connection
|> Connection.request(request)
|> evaluate_response([
{201, Docspring.Model.CreateSubmissionDataRequestEventResponse},
{401, Docspring.Model.ErrorResponse},
{422, Docspring.Model.MultipleErrorsResponse}
])
end
@doc """
Creates a new data request token for form authentication
### Parameters
- `connection` (Docspring.Connection): Connection to server
- `data_request_id` (String.t):
- `opts` (keyword): Optional parameters
- `:type` (String.t):
### Returns
- `{:ok, Docspring.Model.CreateSubmissionDataRequestTokenResponse.t}` on success
- `{:error, Tesla.Env.t}` on failure
"""
@spec create_data_request_token(Tesla.Env.client, String.t, keyword()) :: {:ok, Docspring.Model.CreateSubmissionDataRequestTokenResponse.t} | {:ok, Docspring.Model.ErrorResponse.t} | {:error, Tesla.Env.t}
def create_data_request_token(connection, data_request_id, opts \\ []) do
optional_params = %{
:type => :query
}
request =
%{}
|> method(:post)
|> url("/data_requests/#{data_request_id}/tokens")
|> add_optional_params(optional_params, opts)
|> ensure_body()
|> Enum.into([])
connection
|> Connection.request(request)
|> evaluate_response([
{201, Docspring.Model.CreateSubmissionDataRequestTokenResponse},
{401, Docspring.Model.ErrorResponse},
{422, Docspring.Model.ErrorResponse}
])
end
@doc """
Create a folder
### Parameters
- `connection` (Docspring.Connection): Connection to server
- `data` (CreateFolderData):
- `opts` (keyword): Optional parameters
### Returns
- `{:ok, Docspring.Model.Folder.t}` on success
- `{:error, Tesla.Env.t}` on failure
"""
@spec create_folder(Tesla.Env.client, Docspring.Model.CreateFolderData.t, keyword()) :: {:ok, Docspring.Model.ErrorResponse.t} | {:ok, Docspring.Model.Folder.t} | {:ok, Docspring.Model.MultipleErrorsResponse.t} | {:error, Tesla.Env.t}
def create_folder(connection, data, _opts \\ []) do
request =
%{}
|> method(:post)
|> url("/folders/")
|> add_param(:body, :body, data)
|> Enum.into([])
connection
|> Connection.request(request)
|> evaluate_response([
{422, Docspring.Model.MultipleErrorsResponse},
{404, Docspring.Model.ErrorResponse},
{200, Docspring.Model.Folder},
{401, Docspring.Model.ErrorResponse}
])
end
@doc """
Create a new HTML template
### Parameters
- `connection` (Docspring.Connection): Connection to server
- `data` (CreateHtmlTemplate):
- `opts` (keyword): Optional parameters
### Returns
- `{:ok, Docspring.Model.TemplatePreview.t}` on success
- `{:error, Tesla.Env.t}` on failure
"""
@spec create_html_template(Tesla.Env.client, Docspring.Model.CreateHtmlTemplate.t, keyword()) :: {:ok, Docspring.Model.ErrorResponse.t} | {:ok, Docspring.Model.TemplatePreview.t} | {:error, Tesla.Env.t}
def create_html_template(connection, data, _opts \\ []) do
request =
%{}
|> method(:post)
|> url("/templates?endpoint_description=html")
|> add_param(:body, :body, data)
|> Enum.into([])
connection
|> Connection.request(request)
|> evaluate_response([
{201, Docspring.Model.TemplatePreview},
{401, Docspring.Model.ErrorResponse}
])
end
@doc """
Create a new PDF template with a form POST file upload
### Parameters
- `connection` (Docspring.Connection): Connection to server
- `template_left_square_bracketdocument_right_square_bracket` (String.t):
- `template_left_square_bracketname_right_square_bracket` (String.t):
- `opts` (keyword): Optional parameters
- `:wait` (boolean()): Wait for template document to be processed before returning. Set to false to return immediately. Default: true (on sync.* subdomain)
- `:"template[description]"` (String.t):
- `:"template[parent_folder_id]"` (String.t):
### Returns
- `{:ok, Docspring.Model.TemplatePreview.t}` on success
- `{:error, Tesla.Env.t}` on failure
"""
@spec create_pdf_template(Tesla.Env.client, String.t, String.t, keyword()) :: {:ok, Docspring.Model.ErrorResponse.t} | {:ok, Docspring.Model.TemplatePreview.t} | {:error, Tesla.Env.t}
def create_pdf_template(connection, template_left_square_bracketdocument_right_square_bracket, template_left_square_bracketname_right_square_bracket, opts \\ []) do
optional_params = %{
:wait => :query,
:"template[description]" => :form,
:"template[parent_folder_id]" => :form
}
request =
%{}
|> method(:post)
|> url("/templates")
|> add_param(:file, :"template[document]", template_left_square_bracketdocument_right_square_bracket)
|> add_param(:form, :"template[name]", template_left_square_bracketname_right_square_bracket)
|> add_optional_params(optional_params, opts)
|> Enum.into([])
connection
|> Connection.request(request)
|> evaluate_response([
{201, Docspring.Model.TemplatePreview},
{401, Docspring.Model.ErrorResponse}
])
end
@doc """
Create a new PDF template from a cached presign upload
### Parameters
- `connection` (Docspring.Connection): Connection to server
- `data` (CreatePdfTemplate):
- `opts` (keyword): Optional parameters
### Returns
- `{:ok, Docspring.Model.TemplatePreview.t}` on success
- `{:error, Tesla.Env.t}` on failure
"""
@spec create_pdf_template_from_upload(Tesla.Env.client, Docspring.Model.CreatePdfTemplate.t, keyword()) :: {:ok, Docspring.Model.ErrorResponse.t} | {:ok, Docspring.Model.TemplatePreview.t} | {:error, Tesla.Env.t}
def create_pdf_template_from_upload(connection, data, _opts \\ []) do
request =
%{}
|> method(:post)
|> url("/templates?endpoint_description=cached_upload")
|> add_param(:body, :body, data)
|> Enum.into([])
connection
|> Connection.request(request)
|> evaluate_response([
{201, Docspring.Model.TemplatePreview},
{401, Docspring.Model.ErrorResponse}
])
end
@doc """
Delete a folder
### Parameters
- `connection` (Docspring.Connection): Connection to server
- `folder_id` (String.t):
- `opts` (keyword): Optional parameters
### Returns
- `{:ok, Docspring.Model.Folder.t}` on success
- `{:error, Tesla.Env.t}` on failure
"""
@spec delete_folder(Tesla.Env.client, String.t, keyword()) :: {:ok, Docspring.Model.ErrorResponse.t} | {:ok, Docspring.Model.Folder.t} | {:error, Tesla.Env.t}
def delete_folder(connection, folder_id, _opts \\ []) do
request =
%{}
|> method(:delete)
|> url("/folders/#{folder_id}")
|> Enum.into([])
connection
|> Connection.request(request)
|> evaluate_response([
{404, Docspring.Model.ErrorResponse},
{422, Docspring.Model.ErrorResponse},
{200, Docspring.Model.Folder},
{401, Docspring.Model.ErrorResponse}
])
end
@doc """
Delete a template
### Parameters
- `connection` (Docspring.Connection): Connection to server
- `template_id` (String.t):
- `opts` (keyword): Optional parameters
- `:version` (String.t):
### Returns
- `{:ok, Docspring.Model.TemplateDeleteResponse.t}` on success
- `{:error, Tesla.Env.t}` on failure
"""
@spec delete_template(Tesla.Env.client, String.t, keyword()) :: {:ok, Docspring.Model.ErrorResponse.t} | {:ok, Docspring.Model.TemplateDeleteResponse.t} | {:error, Tesla.Env.t}
def delete_template(connection, template_id, opts \\ []) do
optional_params = %{
:version => :query
}
request =
%{}
|> method(:delete)
|> url("/templates/#{template_id}")
|> add_optional_params(optional_params, opts)
|> Enum.into([])
connection
|> Connection.request(request)
|> evaluate_response([
{200, Docspring.Model.TemplateDeleteResponse},
{404, Docspring.Model.ErrorResponse},
{401, Docspring.Model.ErrorResponse}
])
end
@doc """
Expire a combined submission
### Parameters
- `connection` (Docspring.Connection): Connection to server
- `combined_submission_id` (String.t):
- `opts` (keyword): Optional parameters
### Returns
- `{:ok, Docspring.Model.CombinedSubmission.t}` on success
- `{:error, Tesla.Env.t}` on failure
"""
@spec expire_combined_submission(Tesla.Env.client, String.t, keyword()) :: {:ok, Docspring.Model.ErrorResponse.t} | {:ok, Docspring.Model.CombinedSubmission.t} | {:error, Tesla.Env.t}
def expire_combined_submission(connection, combined_submission_id, _opts \\ []) do
request =
%{}
|> method(:delete)
|> url("/combined_submissions/#{combined_submission_id}")
|> Enum.into([])
connection
|> Connection.request(request)
|> evaluate_response([
{200, Docspring.Model.CombinedSubmission},
{404, Docspring.Model.ErrorResponse},
{403, Docspring.Model.ErrorResponse},
{401, Docspring.Model.ErrorResponse}
])
end
@doc """
Expire a PDF submission
### Parameters
- `connection` (Docspring.Connection): Connection to server
- `submission_id` (String.t):
- `opts` (keyword): Optional parameters
### Returns
- `{:ok, Docspring.Model.SubmissionPreview.t}` on success
- `{:error, Tesla.Env.t}` on failure
"""
@spec expire_submission(Tesla.Env.client, String.t, keyword()) :: {:ok, Docspring.Model.ErrorResponse.t} | {:ok, Docspring.Model.SubmissionPreview.t} | {:error, Tesla.Env.t}
def expire_submission(connection, submission_id, _opts \\ []) do
request =
%{}
|> method(:delete)
|> url("/submissions/#{submission_id}")
|> Enum.into([])
connection
|> Connection.request(request)
|> evaluate_response([
{200, Docspring.Model.SubmissionPreview},
{404, Docspring.Model.ErrorResponse},
{401, Docspring.Model.ErrorResponse},
{403, Docspring.Model.ErrorResponse}
])
end
@doc """
Generates a new PDF
### Parameters
- `connection` (Docspring.Connection): Connection to server
- `template_id` (String.t):
- `submission` (CreatePdfSubmissionData):
- `opts` (keyword): Optional parameters
- `:wait` (boolean()): Wait for submission to be processed before returning. Set to false to return immediately. Default: true (on sync.* subdomain)
### Returns
- `{:ok, Docspring.Model.CreateSubmissionResponse.t}` on success
- `{:error, Tesla.Env.t}` on failure
"""
@spec generate_pdf(Tesla.Env.client, String.t, Docspring.Model.CreatePdfSubmissionData.t, keyword()) :: {:ok, Docspring.Model.ErrorResponse.t} | {:ok, Docspring.Model.CreateSubmissionResponse.t} | {:error, Tesla.Env.t}
def generate_pdf(connection, template_id, submission, opts \\ []) do
optional_params = %{
:wait => :query
}
request =
%{}
|> method(:post)
|> url("/templates/#{template_id}/submissions")
|> add_param(:body, :body, submission)
|> add_optional_params(optional_params, opts)
|> Enum.into([])
connection
|> Connection.request(request)
|> evaluate_response([
{201, Docspring.Model.CreateSubmissionResponse},
{422, Docspring.Model.ErrorResponse},
{401, Docspring.Model.ErrorResponse}
])
end
@doc """
Generates a new PDF for an HTML template
### Parameters
- `connection` (Docspring.Connection): Connection to server
- `template_id` (String.t):
- `submission` (CreateHtmlSubmissionData):
- `opts` (keyword): Optional parameters
- `:wait` (boolean()): Wait for submission to be processed before returning. Set to false to return immediately. Default: true (on sync.* subdomain)
### Returns
- `{:ok, Docspring.Model.CreateSubmissionResponse.t}` on success
- `{:error, Tesla.Env.t}` on failure
"""
@spec generate_pdf_for_html_template(Tesla.Env.client, String.t, Docspring.Model.CreateHtmlSubmissionData.t, keyword()) :: {:ok, Docspring.Model.CreateSubmissionResponse.t} | {:error, Tesla.Env.t}
def generate_pdf_for_html_template(connection, template_id, submission, opts \\ []) do
optional_params = %{
:wait => :query
}
request =
%{}
|> method(:post)
|> url("/templates/#{template_id}/submissions?endpoint_description=html_templates")
|> add_param(:body, :body, submission)
|> add_optional_params(optional_params, opts)
|> Enum.into([])
connection
|> Connection.request(request)
|> evaluate_response([
{201, Docspring.Model.CreateSubmissionResponse}
])
end
@doc """
Generated a preview PDF for partially completed data requests
### Parameters
- `connection` (Docspring.Connection): Connection to server
- `submission_id` (String.t):
- `opts` (keyword): Optional parameters
### Returns
- `{:ok, Docspring.Model.SuccessErrorResponse.t}` on success
- `{:error, Tesla.Env.t}` on failure
"""
@spec generate_preview(Tesla.Env.client, String.t, keyword()) :: {:ok, Docspring.Model.ErrorResponse.t} | {:ok, Docspring.Model.SuccessErrorResponse.t} | {:error, Tesla.Env.t}
def generate_preview(connection, submission_id, _opts \\ []) do
request =
%{}
|> method(:post)
|> url("/submissions/#{submission_id}/generate_preview")
|> ensure_body()
|> Enum.into([])
connection
|> Connection.request(request)
|> evaluate_response([
{200, Docspring.Model.SuccessErrorResponse},
{404, Docspring.Model.ErrorResponse},
{422, Docspring.Model.SuccessErrorResponse}
])
end
@doc """
Check the status of a combined submission (merged PDFs)
### Parameters
- `connection` (Docspring.Connection): Connection to server
- `combined_submission_id` (String.t):
- `opts` (keyword): Optional parameters
### Returns
- `{:ok, Docspring.Model.CombinedSubmission.t}` on success
- `{:error, Tesla.Env.t}` on failure
"""
@spec get_combined_submission(Tesla.Env.client, String.t, keyword()) :: {:ok, Docspring.Model.ErrorResponse.t} | {:ok, Docspring.Model.CombinedSubmission.t} | {:error, Tesla.Env.t}
def get_combined_submission(connection, combined_submission_id, _opts \\ []) do
request =
%{}
|> method(:get)
|> url("/combined_submissions/#{combined_submission_id}")
|> Enum.into([])
connection
|> Connection.request(request)
|> evaluate_response([
{200, Docspring.Model.CombinedSubmission},
{404, Docspring.Model.ErrorResponse},
{401, Docspring.Model.ErrorResponse}
])
end
@doc """
Look up a submission data request
### Parameters
- `connection` (Docspring.Connection): Connection to server
- `data_request_id` (String.t):
- `opts` (keyword): Optional parameters
### Returns
- `{:ok, Docspring.Model.SubmissionDataRequestShow.t}` on success
- `{:error, Tesla.Env.t}` on failure
"""
@spec get_data_request(Tesla.Env.client, String.t, keyword()) :: {:ok, Docspring.Model.ErrorResponse.t} | {:ok, Docspring.Model.SubmissionDataRequestShow.t} | {:error, Tesla.Env.t}
def get_data_request(connection, data_request_id, _opts \\ []) do
request =
%{}
|> method(:get)
|> url("/data_requests/#{data_request_id}")
|> Enum.into([])
connection
|> Connection.request(request)
|> evaluate_response([
{200, Docspring.Model.SubmissionDataRequestShow},
{404, Docspring.Model.ErrorResponse},
{401, Docspring.Model.ErrorResponse}
])
end
@doc """
Fetch the full attributes for a PDF template
### Parameters
- `connection` (Docspring.Connection): Connection to server
- `template_id` (String.t):
- `opts` (keyword): Optional parameters
### Returns
- `{:ok, Docspring.Model.Template.t}` on success
- `{:error, Tesla.Env.t}` on failure
"""
@spec get_full_template(Tesla.Env.client, String.t, keyword()) :: {:ok, Docspring.Model.ErrorResponse.t} | {:ok, Docspring.Model.Template.t} | {:error, Tesla.Env.t}
def get_full_template(connection, template_id, _opts \\ []) do
request =
%{}
|> method(:get)
|> url("/templates/#{template_id}?full=true")
|> Enum.into([])
connection
|> Connection.request(request)
|> evaluate_response([
{200, Docspring.Model.Template},
{404, Docspring.Model.ErrorResponse},
{401, Docspring.Model.ErrorResponse}
])
end
@doc """
Get a presigned URL so that you can upload a file to our AWS S3 bucket
### Parameters
- `connection` (Docspring.Connection): Connection to server
- `opts` (keyword): Optional parameters
### Returns
- `{:ok, Docspring.Model.UploadPresignResponse.t}` on success
- `{:error, Tesla.Env.t}` on failure
"""
@spec get_presign_url(Tesla.Env.client, keyword()) :: {:ok, Docspring.Model.ErrorResponse.t} | {:ok, Docspring.Model.UploadPresignResponse.t} | {:error, Tesla.Env.t}
def get_presign_url(connection, _opts \\ []) do
request =
%{}
|> method(:get)
|> url("/uploads/presign")
|> Enum.into([])
connection
|> Connection.request(request)
|> evaluate_response([
{200, Docspring.Model.UploadPresignResponse},
{401, Docspring.Model.ErrorResponse}
])
end
@doc """
Check the status of a PDF
### Parameters
- `connection` (Docspring.Connection): Connection to server
- `submission_id` (String.t):
- `opts` (keyword): Optional parameters
- `:include_data` (boolean()):
### Returns
- `{:ok, Docspring.Model.Submission.t}` on success
- `{:error, Tesla.Env.t}` on failure
"""
@spec get_submission(Tesla.Env.client, String.t, keyword()) :: {:ok, Docspring.Model.ErrorResponse.t} | {:ok, Docspring.Model.Submission.t} | {:error, Tesla.Env.t}
def get_submission(connection, submission_id, opts \\ []) do
optional_params = %{
:include_data => :query
}
request =
%{}
|> method(:get)
|> url("/submissions/#{submission_id}")
|> add_optional_params(optional_params, opts)
|> Enum.into([])
connection
|> Connection.request(request)
|> evaluate_response([
{200, Docspring.Model.Submission},
{404, Docspring.Model.ErrorResponse},
{401, Docspring.Model.ErrorResponse}
])
end
@doc """
Check the status of a submission batch job
### Parameters
- `connection` (Docspring.Connection): Connection to server
- `submission_batch_id` (String.t):
- `opts` (keyword): Optional parameters
- `:include_submissions` (boolean()):
### Returns
- `{:ok, Docspring.Model.SubmissionBatchWithSubmissions.t}` on success
- `{:error, Tesla.Env.t}` on failure
"""
@spec get_submission_batch(Tesla.Env.client, String.t, keyword()) :: {:ok, Docspring.Model.ErrorResponse.t} | {:ok, Docspring.Model.SubmissionBatchWithSubmissions.t} | {:error, Tesla.Env.t}
def get_submission_batch(connection, submission_batch_id, opts \\ []) do
optional_params = %{
:include_submissions => :query
}
request =
%{}
|> method(:get)
|> url("/submissions/batches/#{submission_batch_id}")
|> add_optional_params(optional_params, opts)
|> Enum.into([])
connection
|> Connection.request(request)
|> evaluate_response([
{200, Docspring.Model.SubmissionBatchWithSubmissions},
{404, Docspring.Model.ErrorResponse},
{401, Docspring.Model.ErrorResponse}
])
end
@doc """
Check the status of an uploaded template
### Parameters
- `connection` (Docspring.Connection): Connection to server
- `template_id` (String.t):
- `opts` (keyword): Optional parameters
### Returns
- `{:ok, Docspring.Model.TemplatePreview.t}` on success
- `{:error, Tesla.Env.t}` on failure
"""
@spec get_template(Tesla.Env.client, String.t, keyword()) :: {:ok, Docspring.Model.ErrorResponse.t} | {:ok, Docspring.Model.TemplatePreview.t} | {:error, Tesla.Env.t}
def get_template(connection, template_id, _opts \\ []) do
request =
%{}
|> method(:get)
|> url("/templates/#{template_id}")
|> Enum.into([])
connection
|> Connection.request(request)
|> evaluate_response([
{200, Docspring.Model.TemplatePreview},
{404, Docspring.Model.ErrorResponse},
{401, Docspring.Model.ErrorResponse}
])
end
@doc """
Fetch the JSON schema for a template
### Parameters
- `connection` (Docspring.Connection): Connection to server
- `template_id` (String.t):
- `opts` (keyword): Optional parameters
### Returns
- `{:ok, Docspring.Model.JsonSchema.t}` on success
- `{:error, Tesla.Env.t}` on failure
"""
@spec get_template_schema(Tesla.Env.client, String.t, keyword()) :: {:ok, Docspring.Model.ErrorResponse.t} | {:ok, Docspring.Model.JsonSchema.t} | {:error, Tesla.Env.t}
def get_template_schema(connection, template_id, _opts \\ []) do
request =
%{}
|> method(:get)
|> url("/templates/#{template_id}/schema")
|> Enum.into([])
connection
|> Connection.request(request)
|> evaluate_response([
{200, Docspring.Model.JsonSchema},
{404, Docspring.Model.ErrorResponse},
{401, Docspring.Model.ErrorResponse}
])
end
@doc """
Get a list of all combined submissions
### Parameters
- `connection` (Docspring.Connection): Connection to server
- `opts` (keyword): Optional parameters
- `:page` (integer()): Default: 1
- `:per_page` (integer()): Default: 50
### Returns
- `{:ok, [%CombinedSubmission{}, ...]}` on success
- `{:error, Tesla.Env.t}` on failure
"""
@spec list_combined_submissions(Tesla.Env.client, keyword()) :: {:ok, Docspring.Model.ErrorResponse.t} | {:ok, [Docspring.Model.CombinedSubmission.t]} | {:error, Tesla.Env.t}
def list_combined_submissions(connection, opts \\ []) do
optional_params = %{
:page => :query,
:per_page => :query
}
request =
%{}
|> method(:get)
|> url("/combined_submissions")
|> add_optional_params(optional_params, opts)
|> Enum.into([])
connection
|> Connection.request(request)
|> evaluate_response([
{200, Docspring.Model.CombinedSubmission},
{401, Docspring.Model.ErrorResponse}
])
end
@doc """
Get a list of all folders
### Parameters
- `connection` (Docspring.Connection): Connection to server
- `opts` (keyword): Optional parameters
- `:parent_folder_id` (String.t): Filter By Folder Id
### Returns
- `{:ok, [%Folder{}, ...]}` on success
- `{:error, Tesla.Env.t}` on failure
"""
@spec list_folders(Tesla.Env.client, keyword()) :: {:ok, Docspring.Model.ErrorResponse.t} | {:ok, [Docspring.Model.Folder.t]} | {:error, Tesla.Env.t}
def list_folders(connection, opts \\ []) do
optional_params = %{
:parent_folder_id => :query
}
request =
%{}
|> method(:get)
|> url("/folders/")
|> add_optional_params(optional_params, opts)
|> Enum.into([])
connection
|> Connection.request(request)
|> evaluate_response([
{200, Docspring.Model.Folder},
{401, Docspring.Model.ErrorResponse}
])
end
@doc """
List all submissions
### Parameters
- `connection` (Docspring.Connection): Connection to server
- `opts` (keyword): Optional parameters
- `:cursor` (String.t):
- `:limit` (float()):
- `:created_after` (String.t):
- `:created_before` (String.t):
- `:type` (String.t):
- `:include_data` (boolean()):
### Returns
- `{:ok, Docspring.Model.ListSubmissionsResponse.t}` on success
- `{:error, Tesla.Env.t}` on failure
"""
@spec list_submissions(Tesla.Env.client, keyword()) :: {:ok, Docspring.Model.ErrorResponse.t} | {:ok, Docspring.Model.ListSubmissionsResponse.t} | {:error, Tesla.Env.t}
def list_submissions(connection, opts \\ []) do
optional_params = %{
:cursor => :query,
:limit => :query,
:created_after => :query,
:created_before => :query,
:type => :query,
:include_data => :query
}
request =
%{}
|> method(:get)
|> url("/submissions")
|> add_optional_params(optional_params, opts)
|> Enum.into([])
connection
|> Connection.request(request)
|> evaluate_response([
{200, Docspring.Model.ListSubmissionsResponse},
{422, Docspring.Model.ErrorResponse},
{401, Docspring.Model.ErrorResponse}
])
end
@doc """
List all submissions for a given template
### Parameters
- `connection` (Docspring.Connection): Connection to server
- `template_id` (String.t):
- `opts` (keyword): Optional parameters
- `:cursor` (String.t):
- `:limit` (float()):
- `:created_after` (String.t):
- `:created_before` (String.t):
- `:type` (String.t):
- `:include_data` (boolean()):
### Returns
- `{:ok, Docspring.Model.ListSubmissionsResponse.t}` on success
- `{:error, Tesla.Env.t}` on failure
"""
@spec list_template_submissions(Tesla.Env.client, String.t, keyword()) :: {:ok, Docspring.Model.ErrorResponse.t} | {:ok, Docspring.Model.ListSubmissionsResponse.t} | {:error, Tesla.Env.t}
def list_template_submissions(connection, template_id, opts \\ []) do
optional_params = %{
:cursor => :query,
:limit => :query,
:created_after => :query,
:created_before => :query,
:type => :query,
:include_data => :query
}
request =
%{}
|> method(:get)
|> url("/templates/#{template_id}/submissions")
|> add_optional_params(optional_params, opts)
|> Enum.into([])
connection
|> Connection.request(request)
|> evaluate_response([
{200, Docspring.Model.ListSubmissionsResponse},
{404, Docspring.Model.ErrorResponse}
])
end
@doc """
Get a list of all templates
### Parameters
- `connection` (Docspring.Connection): Connection to server
- `opts` (keyword): Optional parameters
- `:query` (String.t): Search By Name
- `:parent_folder_id` (String.t): Filter By Folder Id
- `:page` (integer()): Default: 1
- `:per_page` (integer()): Default: 50
### Returns
- `{:ok, [%TemplatePreview{}, ...]}` on success
- `{:error, Tesla.Env.t}` on failure
"""
@spec list_templates(Tesla.Env.client, keyword()) :: {:ok, Docspring.Model.ErrorResponse.t} | {:ok, [Docspring.Model.TemplatePreview.t]} | {:error, Tesla.Env.t}
def list_templates(connection, opts \\ []) do
optional_params = %{
:query => :query,
:parent_folder_id => :query,
:page => :query,
:per_page => :query
}
request =
%{}
|> method(:get)
|> url("/templates")
|> add_optional_params(optional_params, opts)
|> Enum.into([])
connection
|> Connection.request(request)
|> evaluate_response([
{200, Docspring.Model.TemplatePreview},
{404, Docspring.Model.ErrorResponse},
{401, Docspring.Model.ErrorResponse}
])
end
@doc """
Move a folder
### Parameters
- `connection` (Docspring.Connection): Connection to server
- `folder_id` (String.t):
- `data` (MoveFolderData):
- `opts` (keyword): Optional parameters
### Returns
- `{:ok, Docspring.Model.Folder.t}` on success
- `{:error, Tesla.Env.t}` on failure
"""
@spec move_folder_to_folder(Tesla.Env.client, String.t, Docspring.Model.MoveFolderData.t, keyword()) :: {:ok, Docspring.Model.ErrorResponse.t} | {:ok, Docspring.Model.Folder.t} | {:error, Tesla.Env.t}
def move_folder_to_folder(connection, folder_id, data, _opts \\ []) do
request =
%{}
|> method(:post)
|> url("/folders/#{folder_id}/move")
|> add_param(:body, :body, data)
|> Enum.into([])
connection
|> Connection.request(request)
|> evaluate_response([
{404, Docspring.Model.ErrorResponse},
{200, Docspring.Model.Folder},
{401, Docspring.Model.ErrorResponse}
])
end
@doc """
Move Template to folder
### Parameters
- `connection` (Docspring.Connection): Connection to server
- `template_id` (String.t):
- `data` (MoveTemplateData):
- `opts` (keyword): Optional parameters
### Returns
- `{:ok, Docspring.Model.TemplatePreview.t}` on success
- `{:error, Tesla.Env.t}` on failure
"""
@spec move_template_to_folder(Tesla.Env.client, String.t, Docspring.Model.MoveTemplateData.t, keyword()) :: {:ok, Docspring.Model.ErrorResponse.t} | {:ok, Docspring.Model.TemplatePreview.t} | {:error, Tesla.Env.t}
def move_template_to_folder(connection, template_id, data, _opts \\ []) do
request =
%{}
|> method(:post)
|> url("/templates/#{template_id}/move")
|> add_param(:body, :body, data)
|> Enum.into([])
connection
|> Connection.request(request)
|> evaluate_response([
{200, Docspring.Model.TemplatePreview},
{404, Docspring.Model.ErrorResponse}
])
end
@doc """
Publish a template version
### Parameters
- `connection` (Docspring.Connection): Connection to server
- `template_id` (String.t):
- `data` (PublishVersionData):
- `opts` (keyword): Optional parameters
### Returns
- `{:ok, Docspring.Model.TemplatePublishVersionResponse.t}` on success
- `{:error, Tesla.Env.t}` on failure
"""
@spec publish_template_version(Tesla.Env.client, String.t, Docspring.Model.PublishVersionData.t, keyword()) :: {:ok, Docspring.Model.SuccessMultipleErrorsResponse.t} | {:ok, Docspring.Model.ErrorResponse.t} | {:ok, Docspring.Model.TemplatePublishVersionResponse.t} | {:error, Tesla.Env.t}
def publish_template_version(connection, template_id, data, _opts \\ []) do
request =
%{}
|> method(:post)
|> url("/templates/#{template_id}/publish_version")
|> add_param(:body, :body, data)
|> Enum.into([])
connection
|> Connection.request(request)
|> evaluate_response([
{200, Docspring.Model.TemplatePublishVersionResponse},
{422, Docspring.Model.SuccessMultipleErrorsResponse},
{404, Docspring.Model.ErrorResponse},
{401, Docspring.Model.ErrorResponse}
])
end
@doc """
Rename a folder
### Parameters
- `connection` (Docspring.Connection): Connection to server
- `folder_id` (String.t):
- `data` (RenameFolderData):
- `opts` (keyword): Optional parameters
### Returns
- `{:ok, Docspring.Model.Folder.t}` on success
- `{:error, Tesla.Env.t}` on failure
"""
@spec rename_folder(Tesla.Env.client, String.t, Docspring.Model.RenameFolderData.t, keyword()) :: {:ok, Docspring.Model.ErrorResponse.t} | {:ok, Docspring.Model.Folder.t} | {:ok, Docspring.Model.MultipleErrorsResponse.t} | {:error, Tesla.Env.t}
def rename_folder(connection, folder_id, data, _opts \\ []) do
request =
%{}
|> method(:post)
|> url("/folders/#{folder_id}/rename")
|> add_param(:body, :body, data)
|> Enum.into([])
connection
|> Connection.request(request)
|> evaluate_response([
{422, Docspring.Model.MultipleErrorsResponse},
{404, Docspring.Model.ErrorResponse},
{200, Docspring.Model.Folder},
{401, Docspring.Model.ErrorResponse}
])
end
@doc """
Restore a template version
### Parameters
- `connection` (Docspring.Connection): Connection to server
- `template_id` (String.t):
- `data` (RestoreVersionData):
- `opts` (keyword): Optional parameters
### Returns
- `{:ok, Docspring.Model.SuccessErrorResponse.t}` on success
- `{:error, Tesla.Env.t}` on failure
"""
@spec restore_template_version(Tesla.Env.client, String.t, Docspring.Model.RestoreVersionData.t, keyword()) :: {:ok, Docspring.Model.SuccessMultipleErrorsResponse.t} | {:ok, Docspring.Model.ErrorResponse.t} | {:ok, Docspring.Model.SuccessErrorResponse.t} | {:error, Tesla.Env.t}
def restore_template_version(connection, template_id, data, _opts \\ []) do
request =
%{}
|> method(:post)
|> url("/templates/#{template_id}/restore_version")
|> add_param(:body, :body, data)
|> Enum.into([])
connection
|> Connection.request(request)
|> evaluate_response([
{200, Docspring.Model.SuccessErrorResponse},
{422, Docspring.Model.SuccessMultipleErrorsResponse},
{404, Docspring.Model.SuccessMultipleErrorsResponse},
{401, Docspring.Model.ErrorResponse}
])
end
@doc """
Test Authentication
### Parameters
- `connection` (Docspring.Connection): Connection to server
- `opts` (keyword): Optional parameters
### Returns
- `{:ok, Docspring.Model.SuccessErrorResponse.t}` on success
- `{:error, Tesla.Env.t}` on failure
"""
@spec test_authentication(Tesla.Env.client, keyword()) :: {:ok, Docspring.Model.SuccessErrorResponse.t} | {:error, Tesla.Env.t}
def test_authentication(connection, _opts \\ []) do
request =
%{}
|> method(:get)
|> url("/authentication")
|> Enum.into([])
connection
|> Connection.request(request)
|> evaluate_response([
{200, Docspring.Model.SuccessErrorResponse},
{401, Docspring.Model.SuccessErrorResponse}
])
end
@doc """
Update a submission data request
### Parameters
- `connection` (Docspring.Connection): Connection to server
- `data_request_id` (String.t):
- `data` (UpdateSubmissionDataRequestData):
- `opts` (keyword): Optional parameters
### Returns
- `{:ok, Docspring.Model.CreateSubmissionDataRequestResponse.t}` on success
- `{:error, Tesla.Env.t}` on failure
"""
@spec update_data_request(Tesla.Env.client, String.t, Docspring.Model.UpdateSubmissionDataRequestData.t, keyword()) :: {:ok, Docspring.Model.ErrorResponse.t} | {:ok, Docspring.Model.CreateSubmissionDataRequestResponse.t} | {:ok, Docspring.Model.MultipleErrorsResponse.t} | {:error, Tesla.Env.t}
def update_data_request(connection, data_request_id, data, _opts \\ []) do
request =
%{}
|> method(:put)
|> url("/data_requests/#{data_request_id}")
|> add_param(:body, :body, data)
|> Enum.into([])
connection
|> Connection.request(request)
|> evaluate_response([
{200, Docspring.Model.CreateSubmissionDataRequestResponse},
{422, Docspring.Model.MultipleErrorsResponse},
{404, Docspring.Model.ErrorResponse},
{401, Docspring.Model.ErrorResponse}
])
end
@doc """
Update a Template
### Parameters
- `connection` (Docspring.Connection): Connection to server
- `template_id` (String.t):
- `data` (UpdateHtmlTemplate):
- `opts` (keyword): Optional parameters
### Returns
- `{:ok, Docspring.Model.SuccessMultipleErrorsResponse.t}` on success
- `{:error, Tesla.Env.t}` on failure
"""
@spec update_template(Tesla.Env.client, String.t, Docspring.Model.UpdateHtmlTemplate.t, keyword()) :: {:ok, Docspring.Model.SuccessMultipleErrorsResponse.t} | {:error, Tesla.Env.t}
def update_template(connection, template_id, data, _opts \\ []) do
request =
%{}
|> method(:put)
|> url("/templates/#{template_id}")
|> add_param(:body, :body, data)
|> Enum.into([])
connection
|> Connection.request(request)
|> evaluate_response([
{200, Docspring.Model.SuccessMultipleErrorsResponse}
])
end
end