Skip to main content
POST
Convert document
Convert a Google Drive file into a quiz or form on any of the 25 supported platforms.
The REST API accepts files stored in Google Drive — Google Docs, Sheets, Drive-hosted PDFs, Word documents, images, and Slides presentations. Pick the right documentType for your file (see below). To convert files uploaded directly from your computer, use the Formswrite web app.

Request

Headers

Body parameters

Document ID

You can pass either a raw Google Drive file ID or a full URL. The accepted URL shapes include docs.google.com/document/d/..., docs.google.com/spreadsheets/d/..., docs.google.com/presentation/d/..., and drive.google.com/file/d/...:
The document must be shared with Formswrite (or set to “Anyone with the link can view”) for the conversion to work.

Supported document types

Set documentType to match the file in Google Drive you’re pointing at: For each type, documentId is the Google Drive file ID (the part after /d/ in the file’s share URL).
The REST API only reads from Google Drive. documentType values like uploaded_pdf, uploaded_word, etc. that appear elsewhere in the Formswrite system are not accepted here — they belong to the web-app upload flow.

Supported formats

Live forms

google_form requires that you have previously connected your Google account via the Formswrite web app. The form will be created in your Google Drive.

Learning Management Systems (LMS)

Quiz and game platforms

Standard formats

Other platforms

Synchronous mode (default)

By default, the API waits for the document to be analyzed and converted before returning the result. This can take up to 5 minutes depending on document size.

Request

Success response (file formats)

For all LMS, quiz/game, standard, and other file formats, the response is the same shape:
downloadUrl is publicly accessible — no auth header is required to download the file. The URL stops working after expiresAt (30 days from creation). Re-run convert if you need a fresh link.

Success response (Google Forms)

google_form returns two URLs. directFormUrl is the Google-hosted form your recipients fill in. formUrl is the Formswrite dashboard view of the same form (for editing inside Formswrite).

Success response (Formswrite Forms)

formswrite_form creates a hosted form on Formswrite. It is created as a draft — visitors can’t submit until you publish it from the dashboard or via the MCP server.
formId is an integer (Formswrite database primary key); formPublicId and publicId are the same string and are what appears in the public-facing URL.

Timeout response (408)

If the analysis takes longer than 5 minutes, you will receive a 408 response with a job ID you can use to poll for status:

Asynchronous mode

Set "async": true to return immediately with a job ID. Use the poll status endpoint to check when the conversion is complete.

Request

Response (202 Accepted)

Then poll GET /api/v1/convert/status/456 until the job is complete. See Poll status for details.

Error responses

Example: invalid format

Example: subscription required