Skip to main content

Upload a file

URL: POST https://api.wolfia.com/v1/questionnaire/upload/file Authentication: API key required (see API overview for setup) A restricted key needs the Questionnaires: write scope to upload, and Questionnaires: read for the list, search, and overview endpoints. This endpoint accepts multipart form data.
You must set the correct MIME type for the file using the ;type= syntax in curl (or the equivalent Content-Type in your HTTP client). Uploads with an incorrect MIME type will fail to process.

Request parameters

Supported file types

Response (200 OK)

Upload text content

URL: POST https://api.wolfia.com/v1/questionnaire/upload/text Authentication: API key required (see API overview for setup) Use this when you have questions as text rather than a file, for example, pasted from an email or extracted from a web form.

Request parameters

Response (200 OK)

List questionnaires

URL: GET https://api.wolfia.com/v1/questionnaire/list Authentication: API key required Returns a paginated list of all questionnaires in your organization, ordered by creation date (newest first).

Request

Query parameters

Response (200 OK)

The should_poll field (at both the list level and individual questionnaire level) indicates whether any questionnaires are still being processed. If true, poll the endpoint periodically to get updated statuses.

Processing status values

After uploading, a questionnaire moves through these statuses: Failed statuses (ANALYSIS_FAILED, QUESTION_EXTRACTION_FAILED, ANSWERING_FAILED) indicate a processing error. Contact support@wolfia.com if failures persist.

Search questionnaires

URL: GET https://api.wolfia.com/v1/questionnaire/search Authentication: API key required Search questionnaires by text or filter by specific fields using the @field:value syntax.

Request

Query parameters

Filter syntax

Use @field:value to filter by specific fields. Multiple filters can be combined in a single query. Plain text without the @ prefix searches across all fields.

Response (200 OK)

The response format matches List questionnaires, with an additional matched_questions array on each item showing which questions matched the search query.

Get questionnaire details

URL: GET https://api.wolfia.com/v1/questionnaire/{questionnaire_id}/overview Authentication: API key required Returns detailed information about a specific questionnaire, including per-sheet statistics, processing logs, and completion metrics.

Request

Response (200 OK)

Use should_poll to determine if the questionnaire is still being processed. If true, poll this endpoint at reasonable intervals (e.g., every 10-30 seconds) until processing completes.

Key response fields

Get question-level data

URL: GET https://api.wolfia.com/v1/questionnaire/{questionnaire_id}/questions Authentication: API key required, with the Questionnaires: read scope Returns every question in a questionnaire with its full answer data as structured JSON: question text, section, status, and each response field’s answer. Built for analysis and reporting, for example measuring what topics your customers ask about most, without downloading and parsing exported documents. Combine it with List questionnaires to run an analysis across your whole questionnaire history: list the questionnaire IDs, then fetch question-level data for each.

Request

Query parameters

Response (200 OK)

Keys with no value are omitted from the response. An unanswered question has no answer key rather than a null one.

Key response fields

Questions in multiple languages include question_text_english and answer_english translations alongside the original text. Timestamps are in microseconds.
Comparing answer against ai_generated_answer shows where your team edited AI answers, which is useful for measuring answer quality and adoption.

Integration example

Python: Upload and poll until complete

Python: Ingest questionnaires from JIRA

Error responses

Best practices

Use file upload when you have the original document (XLSX, PDF, DOCX). Wolfia preserves the document structure.Use text upload for plain text questions from emails, web forms, or chat messages.
The instructions field shapes how Wolfia fills in answers:
Include company_name, deal_value, and deadline when available. This metadata appears in the Wolfia dashboard for prioritization.
After uploading, use the get questionnaire details endpoint to track progress. Check the should_poll field; when it’s false, processing is complete. A polling interval of 15-30 seconds is recommended.

Getting help

  • Check file types: .xlsx, .xlsm, .xls, .csv, .docx, .pdf
  • Check text length: 50 to 200,000 characters
  • Contact support: Email support@wolfia.com

Next steps

Content tags

List available tags to categorize questionnaires on upload

API overview

Authentication, rate limits, and error handling

Knowledge base upload

Add documents to your knowledge base

Trust portal analytics

Track engagement metrics and account activity