@lap v0.3
# Machine-readable API spec. Each @endpoint block is one API call.
@api DocSpring API
@base https://sync.api.docspring.com/api/v1
@version v1
@auth basic
@endpoints 40
@hint download_for_search
@toc authentication(1), combined_submissions(4), custom_files(1), uploads(1), folders(5), data_requests(4), submissions(6), templates(16), templates?endpoint_variant=create_html_template(1), templates?endpoint_variant=create_template_from_cached_upload(1)

@group authentication
@endpoint GET /authentication
@returns(200)
@errors {401}

@endgroup

@group combined_submissions
@endpoint GET /combined_submissions
@optional {page: any, per_page: any}
@returns(200)
@errors {401}

@endpoint POST /combined_submissions
@required {data: map}
@returns(201)
@errors {400, 401, 422}

@endpoint GET /combined_submissions/{combined_submission_id}
@required {combined_submission_id: any}
@returns(200)
@errors {401, 404}

@endpoint DELETE /combined_submissions/{combined_submission_id}
@required {combined_submission_id: any}
@returns(200)
@errors {401, 403, 404}

@endgroup

@group custom_files
@endpoint POST /custom_files
@required {data: map}
@returns(201)
@errors {401}

@endgroup

@group uploads
@endpoint GET /uploads/presign
@returns(200)
@errors {401}

@endgroup

@group folders
@endpoint GET /folders/
@optional {parent_folder_id: any}
@returns(200)
@errors {401}

@endpoint POST /folders/
@required {data: map}
@returns(200)
@errors {401, 404, 422}

@endpoint POST /folders/{folder_id}/move
@required {folder_id: any, data: map}
@returns(200)
@errors {401, 404}

@endpoint POST /folders/{folder_id}/rename
@required {folder_id: any, data: map}
@returns(200)
@errors {401, 404, 422}

@endpoint DELETE /folders/{folder_id}
@required {folder_id: any}
@returns(200)
@errors {401, 404, 422}

@endgroup

@group data_requests
@endpoint POST /data_requests/{data_request_id}/events
@required {data_request_id: any, event: map}
@returns(201)
@errors {401, 422}

@endpoint POST /data_requests/{data_request_id}/tokens
@required {data_request_id: any}
@optional {type: any}
@returns(201)
@errors {401, 422}

@endpoint GET /data_requests/{data_request_id}
@required {data_request_id: any}
@returns(200)
@errors {401, 404}

@endpoint PUT /data_requests/{data_request_id}
@required {data_request_id: any, data: map}
@returns(200)
@errors {401, 404, 422}

@endgroup

@group submissions
@endpoint POST /submissions/batches
@required {data: map}
@optional {wait: any}
@returns(200)
@returns(201)
@errors {400, 401, 422}

@endpoint GET /submissions/batches/{submission_batch_id}
@required {submission_batch_id: any}
@optional {include_submissions: any}
@returns(200)
@errors {401, 404}

@endgroup

@group templates
@endpoint POST /templates/{template_id}/submissions
@required {template_id: any, submission: map}
@optional {wait: any}
@returns(201)
@errors {401, 422}

@endpoint GET /templates/{template_id}/submissions
@required {template_id: any}
@optional {cursor: any, limit: any, created_after: any, created_before: any, type: any, include_data: any}
@returns(200)
@errors {404}

@endgroup

@group submissions
@endpoint GET /submissions/{submission_id}
@required {submission_id: any}
@optional {include_data: any}
@returns(200)
@errors {401, 404}

@endpoint DELETE /submissions/{submission_id}
@required {submission_id: any}
@returns(200)
@errors {401, 403, 404}

@endpoint POST /submissions/{submission_id}/generate_preview
@required {submission_id: any}
@returns(200)
@errors {404, 422}

@endpoint GET /submissions
@optional {cursor: any, limit: any, created_after: any, created_before: any, type: any, include_data: any}
@returns(200)
@errors {401, 422}

@endgroup

@group templates
@endpoint GET /templates
@optional {query: any, parent_folder_id: any, page: any, per_page: any}
@returns(200)
@errors {401, 404}

@endpoint POST /templates
@required {template[document]: any, template[name]: any}
@optional {wait: any, template[description]: any, template[parent_folder_id]: any}
@returns(201)
@errors {401}

@endgroup

@group templates?endpoint_variant=create_html_template
@endpoint POST /templates?endpoint_variant=create_html_template
@required {data: map}
@returns(201)
@errors {401}

@endgroup

@group templates?endpoint_variant=create_template_from_cached_upload
@endpoint POST /templates?endpoint_variant=create_template_from_cached_upload
@required {data: map}
@returns(201)
@errors {401}

@endgroup

@group templates
@endpoint GET /templates/{template_id}
@required {template_id: any}
@returns(200)
@errors {401, 404}

@endpoint PUT /templates/{template_id}
@required {template_id: any, data: map}
@returns(200)

@endpoint DELETE /templates/{template_id}
@required {template_id: any}
@optional {version: any}
@returns(200)
@errors {401, 404}

@endpoint POST /templates/{template_id}/publish_version
@required {template_id: any, data: map}
@returns(200)
@errors {401, 404, 422}

@endpoint POST /templates/{template_id}/restore_version
@required {template_id: any, data: map}
@returns(200)
@errors {401, 404, 422}

@endpoint GET /templates/{template_id}?full=true
@required {template_id: any}
@returns(200)
@errors {401, 404}

@endpoint PUT /templates/{template_id}?endpoint_variant=update_template_pdf_with_form_post
@required {template_id: any, template[document]: any}
@optional {template[name]: any}
@returns(200)
@errors {401}

@endpoint PUT /templates/{template_id}?endpoint_variant=update_template_pdf_with_cached_upload
@required {template_id: any, data: map}
@returns(200)
@errors {401}

@endpoint PUT /templates/{template_id}/add_fields
@required {template_id: any, data: map}
@returns(200)
@errors {422}

@endpoint POST /templates/{template_id}/move
@required {template_id: any, data: map}
@returns(200)
@errors {404}

@endpoint POST /templates/{template_id}/copy
@required {template_id: any}
@optional {options: map}
@returns(200)
@errors {404}

@endpoint GET /templates/{template_id}/schema
@required {template_id: any}
@returns(200)
@errors {401, 404}

@endgroup

@end
