Skip to content

API v1 API

by formapi.io

HTTP BasicHTTPSText Analysis
Open documentation ↗

Overview

DocSpring is a service that helps you fill out and sign PDF templates.

API v1 is a text analysis API from formapi.io. Requests are authenticated with HTTP Basic auth. It is served over HTTPS. Its OpenAPI description documents 35 endpoints.

At a glance

Authentication
HTTP Basic
HTTPS
Yes
CORS
Unknown
Base URL
https://api.docspring.com/api/v1
Version
v1
Endpoints
35
Spec updated
2023-03-06

Make a first request

Replace the placeholders; the documentation says exactly where credentials go.

cURL
curl -X GET "https://api.docspring.com/api/v1/authentication" \
  -H "Accept: application/json" \
  -H "Authorization: Basic BASE64_USER_PASSWORD"
JavaScript
const response = await fetch("https://api.docspring.com/api/v1/authentication", {
  method: "GET",
  headers: {
    "Accept": "application/json",
    "Authorization": "Basic BASE64_USER_PASSWORD",
  },
});
const data = await response.json();
console.log(data);
Python
import requests

response = requests.request(
    "GET",
    "https://api.docspring.com/api/v1/authentication",
    headers={
    "Accept": "application/json",
    "Authorization": "Basic BASE64_USER_PASSWORD",
    },
    timeout=30,
)
print(response.json())

Endpoints

MethodPathWhat it does
GET/authenticationTest Authentication
GET/combined_submissionsGet a list of all combined submissions
POST/combined_submissionsMerge generated PDFs together
GET/combined_submissions/{combined_submission_id}Check the status of a combined submission (merged PDFs)
DELETE/combined_submissions/{combined_submission_id}Expire a combined submission
POST/combined_submissions?v=2Merge submission PDFs, template PDFs, or custom files
POST/custom_filesCreate a new custom file from a cached presign upload
GET/data_requests/{data_request_id}Look up a submission data request
PUT/data_requests/{data_request_id}Update a submission data request
POST/data_requests/{data_request_id}/tokensCreates a new data request token for form authentication
GET/folders/Get a list of all folders
POST/folders/Create a folder
DELETE/folders/{folder_id}Delete a folder
POST/folders/{folder_id}/moveMove a folder
POST/folders/{folder_id}/renameRename a folder
GET/submissionsList all submissions
POST/submissions/batchesGenerates multiple PDFs
GET/submissions/batches/{submission_batch_id}Check the status of a submission batch job
GET/submissions/{submission_id}Check the status of a PDF
DELETE/submissions/{submission_id}Expire a PDF submission
GET/templatesGet a list of all templates
POST/templatesCreate a new PDF template with a form POST file upload
GET/templates/{template_id}Check the status of an uploaded template
PUT/templates/{template_id}Update a Template
PUT/templates/{template_id}/add_fieldsAdd new fields to a Template
POST/templates/{template_id}/copyCopy a Template
POST/templates/{template_id}/moveMove Template to folder
GET/templates/{template_id}/schemaFetch the JSON schema for a template
GET/templates/{template_id}/submissionsList all submissions for a given template
POST/templates/{template_id}/submissionsGenerates a new PDF
POST/templates/{template_id}/submissions/batchGenerates multiple PDFs
GET/templates/{template_id}?full=trueFetch the full template attributes
POST/templates?desc=cached_uploadCreate a new PDF template from a cached presign upload
POST/templates?desc=htmlCreate a new HTML template
GET/uploads/presignGet a presigned URL so that you can upload a file to our AWS S3 bucket

Questions

Does the API v1 API need an API key?

Yes. The API v1 API uses HTTP Basic authentication; the documentation explains how to get credentials.

Does the API v1 API support HTTPS?

Yes, the API v1 API is served over HTTPS.

How many endpoints does the API v1 API have?

Its OpenAPI description lists 35 endpoints in version v1. All of them are shown on this page.

What are alternatives to the API v1 API?

Other Text Analysis APIs include Google Cloud Natural, LanguageTool, Tisane, LibreTranslate, Asynchronous Speech-To-Text API Documentation.

Compare alternatives →

Google Cloud Natural

Text Analysis

Natural language understanding technology, including sentiment, entity and syntax analysis

API key

LanguageTool

Text Analysis

Style and Grammar Checker for 25+ Languages

No auth5 endpoints

Tisane

Text Analysis

Text Analytics with focus on detection of abusive content and law enforcement applications

OAuthCORS6 endpoints

LibreTranslate

Text Analysis

Translation tool with 17 available languages

No auth

Asynchronous Speech-To-Text API Documentation

Text Analysis

Rev.ai provides quality speech-text recognition via a RESTful API. All public methods and objects are documented here for developer reference. For a real-time speech to text solution, use Rev.ai's [Streaming API](/docs/streaming). # Base Endpoint The base url for this version of the API is > `https://api.rev.ai/speechtotext/v1` All endpoints described in this documentation are relative to this base url. # Quick Start Follow the [getting started checklist](https://www.rev.ai/getting_started) ## Get your Access Token You can generate your [access token](#section/Authentication/Access-Token) on the [settings page](https://www.rev.ai/access_token) of your account. This access token only needs to be generated once and never expires. You can re-generate your token, however this will invalidate the previous token. ## Submit a File To submit an audio file for transcription to Rev.ai: ``` curl -X POST "https://api.rev.ai/speechtotext/v1/jobs" -H "Authorization: Bearer $REV_ACCESS_TOKEN" -H "Content-Type: application/json" -d "{\"media_url\":\"https://www.rev.ai/FTC_Sample_1.mp3\",\"metadata\":\"This is a sample submit jobs option\"}" ``` You’ll receive a response like this: ~~~ { "id": "Umx5c6F7pH7r", "created_on": "2018-09-15T05:14:38.13", "name": "sample.mp3", "metadata": "This is a sample submit jobs option for multipart", "status": "in_progress" } ~~~ The `id` (in this case `Umx5c6F7pH7r`) will allow you to retrieve your transcript. ## Get Your Transcript Once a transcription job's `status` becomes `transcribed`, you can retrieve the transcript in JSON format by running: ``` curl -X GET "https://api.rev.ai/speechtotext/v1/jobs/{id}/transcript" -H "Authorization: Bearer $REV_ACCESS_TOKEN" -H "Accept: application/vnd.rev.transcript.v1.0+json" ``` Alternatively you can get the plain text version by running: ``` curl -X GET "https://api.rev.ai/speechtotext/v1/jobs/{id}/transcript" -H "Authorization: Bearer $REV_ACCESS_TOKEN" -H "Accept: text/plain" ``` You can poll for the `status` of your job by querying for the job periodically: ``` curl -X GET https://api.rev.ai/speechtotext/v1/jobs/{id} -H "Authorization: Bearer $REV_ACCESS_TOKEN" ``` **Note:** Polling is NOT recommended in a production server. Rather, use [webhooks](#section/Webhooks) to asynchronously receive notifications once the transcription job completes If you have any further questions, contact us at <[email protected]> # Submitting Files Two `POST` request formats can be used to submit a file: `application/json` or `multipart/form-data`. ## JSON This is the preferred method of file submission. Uses the `media_url` property to provide a direct download URL to the Rev.ai server. This method supports the use of pre-signed URLs. Links to videos hosted on platforms like Youtube are not valid because they are not direct download links. **Important note on presigned URLs:** Signed URLs usually have an expiration time which is configurable. To ensure the Rev.ai server can access the link, make sure the expiration time is set to 2 hours or more. In the event you plan on resending the same file, make sure to generate a new presigned URL. ## FormData Used to send a local file to the Rev.ai server. This allows the customer to send the file directly from the host machine. Certain limits apply to this format, see the [Async API Limits section](#section/Async-API-Limits) for more detals. # Turnaround Time and Chunking Often, especially for shorter files, your transcript will be ready in 5 minutes or less. It generally takes no longer than 15 minutes to return longer audios. If you require faster turn around time please contact <[email protected]> Chunking is the act of breaking audio files into smaller segments. Rev.ai uses this method to decrease turnaround time of audios greater than 3 minutes in length. # Webhooks If the optional `callback_url` is provided, the API will make an HTTP POST request to the `callback_url` with the following request body when the job either completes successfull

Bearer token7 endpoints

Detect Language

Text Analysis

Detects text language

API key

Listed from APIs.guru (CC0).