Quova API

Programmatically create RFP projects, manage your knowledge base, and export responses. Integrate Quova into your existing sales workflow.

Growth Plan RequiredBase URL: https://quova.coRate Limit: 60 req/min

Authentication

All API requests require a valid API key sent via the Authorization header as a Bearer token. API keys can be created and managed from the Settings page (Growth plan required).

Header Format

http
Authorization: Bearer qv_your_api_key_here
Keep your API keys safe

API keys grant full access to your organization's data. Never expose them in client-side code, public repos, or browser requests. If a key is compromised, revoke it immediately from Settings and create a new one.

Error Responses

All errors follow a consistent format:

json
{
  "error": {
    "code": "unauthorized",
    "message": "Invalid API key"
  }
}
StatusCodeDescription
401unauthorizedMissing or invalid API key
403plan_requiredGrowth plan required for API access
403limit_reachedPlan limit exceeded (RFPs, KB entries, etc.)
404not_foundResource not found
400bad_requestInvalid request parameters
429rate_limitedToo many requests (60/min limit)
500internalServer error

Projects

GET/api/v1/projectsGrowth

List all projects for your organization. Supports pagination and status filtering.

Parameters

ParameterTypeRequiredDescription
pageintegerOptionalPage number (default: 1)
limitintegerOptionalItems per page, max 100 (default: 20)
statusstringOptionalFilter by status: ready, in_review, completed

Response

json
{
  "data": [
    {
      "id": "uuid",
      "name": "Acme Corp Q1 RFP",
      "client_name": "Acme Corp",
      "deadline": "2026-04-15",
      "priority": "high",
      "status": "in_review",
      "stats": {
        "total": 45,
        "matched": 38,
        "reviewed": 12,
        "highConfidence": 28
      },
      "created_at": "2026-03-15T10:30:00Z"
    }
  ],
  "meta": { "total": 12, "page": 1, "limit": 20 }
}
bash
curl -X GET "https://quova.co/api/v1/projects?page=1&limit=20" \
  -H "Authorization: Bearer qv_your_api_key"
POST/api/v1/projectsGrowth

Create a new RFP project by uploading a file (Excel or Word). The system will extract questions and match them against your knowledge base.

Request Body

ParameterTypeRequiredDescription
fileFileRequiredRFP document (.xlsx, .xls, or .docx)
namestringOptionalProject name (defaults to filename)
client_namestringOptionalClient name
deadlinestringOptionalDeadline (ISO date: YYYY-MM-DD)
prioritystringOptionalPriority: low, medium, high (default: medium)
notesstringOptionalAdditional notes

Response

json
{
  "data": {
    "id": "uuid",
    "name": "Acme Corp Q1 RFP",
    "client_name": "Acme Corp",
    "status": "ready",
    "stats": {
      "total": 45,
      "matched": 38,
      "reviewed": 0,
      "highConfidence": 28
    },
    "created_at": "2026-03-15T10:30:00Z"
  }
}
bash
curl -X POST "https://quova.co/api/v1/projects" \
  -H "Authorization: Bearer qv_your_api_key" \
  -F "file=@rfp_document.xlsx" \
  -F "name=Acme Corp Q1 RFP" \
  -F "client_name=Acme Corp" \
  -F "priority=high"
GET/api/v1/projects/:idGrowth

Get detailed information about a specific project.

Parameters

ParameterTypeRequiredDescription
iduuidRequiredProject ID (path parameter)

Response

json
{
  "data": {
    "id": "uuid",
    "name": "Acme Corp Q1 RFP",
    "client_name": "Acme Corp",
    "deadline": "2026-04-15",
    "priority": "high",
    "notes": "Q1 security requirements",
    "status": "in_review",
    "stats": { "total": 45, "matched": 38, "reviewed": 12, "highConfidence": 28 },
    "created_at": "2026-03-15T10:30:00Z"
  }
}
bash
curl -X GET "https://quova.co/api/v1/projects/PROJECT_ID" \
  -H "Authorization: Bearer qv_your_api_key"
GET/api/v1/projects/:id/questionsGrowth

List all questions for a project with their matched answers and confidence scores.

Parameters

ParameterTypeRequiredDescription
iduuidRequiredProject ID (path parameter)
pageintegerOptionalPage number (default: 1)
limitintegerOptionalItems per page, max 100 (default: 50)
statusstringOptionalFilter: pending, accepted, edited

Response

json
{
  "data": [
    {
      "id": "uuid",
      "original_question": "Describe your SOC 2 compliance status.",
      "suggested_answer": "We are SOC 2 Type II certified...",
      "final_answer": null,
      "confidence": 0.92,
      "source_label": "Security Compliance Doc",
      "status": "pending"
    }
  ],
  "meta": { "total": 45, "page": 1, "limit": 50 }
}
bash
curl -X GET "https://quova.co/api/v1/projects/PROJECT_ID/questions?page=1" \
  -H "Authorization: Bearer qv_your_api_key"

Knowledge Base

GET/api/v1/knowledgeGrowth

List knowledge base entries. Supports search, category filtering, and pagination.

Parameters

ParameterTypeRequiredDescription
pageintegerOptionalPage number (default: 1)
limitintegerOptionalItems per page, max 100 (default: 20)
categorystringOptionalFilter by category
searchstringOptionalSearch in questions and answers

Response

json
{
  "data": [
    {
      "id": "uuid",
      "question": "What is your uptime SLA?",
      "answer": "We guarantee 99.99% uptime with...",
      "category": "Technical",
      "created_at": "2026-02-10T08:00:00Z"
    }
  ],
  "meta": { "total": 847, "page": 1, "limit": 20 }
}
bash
curl -X GET "https://quova.co/api/v1/knowledge?category=Security&limit=50" \
  -H "Authorization: Bearer qv_your_api_key"
POST/api/v1/knowledgeGrowth

Add a new knowledge base entry.

Request Body

ParameterTypeRequiredDescription
questionstringRequiredThe question or topic
answerstringRequiredThe answer content
categorystringOptionalCategory name (default: "General")

Response

json
{
  "data": {
    "id": "uuid",
    "question": "What is your uptime SLA?",
    "answer": "We guarantee 99.99% uptime...",
    "category": "Technical",
    "created_at": "2026-03-15T10:30:00Z"
  }
}
bash
curl -X POST "https://quova.co/api/v1/knowledge" \
  -H "Authorization: Bearer qv_your_api_key" \
  -H "Content-Type: application/json" \
  -d '{"question":"What is your uptime SLA?","answer":"We guarantee 99.99% uptime...","category":"Technical"}'
PUT/api/v1/knowledge/:idGrowth

Update an existing knowledge base entry. Only provide the fields you want to change.

Parameters

ParameterTypeRequiredDescription
iduuidRequiredEntry ID (path parameter)

Request Body

ParameterTypeRequiredDescription
questionstringOptionalUpdated question
answerstringOptionalUpdated answer
categorystringOptionalUpdated category

Response

json
{
  "data": {
    "id": "uuid",
    "question": "What is your uptime SLA?",
    "answer": "Updated: We guarantee 99.99% uptime...",
    "category": "Technical",
    "created_at": "2026-02-10T08:00:00Z"
  }
}
bash
curl -X PUT "https://quova.co/api/v1/knowledge/ENTRY_ID" \
  -H "Authorization: Bearer qv_your_api_key" \
  -H "Content-Type: application/json" \
  -d '{"answer":"Updated answer content..."}'
DELETE/api/v1/knowledge/:idGrowth

Delete a knowledge base entry.

Parameters

ParameterTypeRequiredDescription
iduuidRequiredEntry ID (path parameter)

Response

json
{
  "data": { "deleted": true }
}
bash
curl -X DELETE "https://quova.co/api/v1/knowledge/ENTRY_ID" \
  -H "Authorization: Bearer qv_your_api_key"

Exports

GET/api/v1/projects/:id/export/xlsxGrowth

Export a project's questions and answers as an Excel spreadsheet.

Parameters

ParameterTypeRequiredDescription
iduuidRequiredProject ID (path parameter)

Response

json
Binary file (application/vnd.openxmlformats-officedocument.spreadsheetml.sheet)
bash
curl -X GET "https://quova.co/api/v1/projects/PROJECT_ID/export/xlsx" \
  -H "Authorization: Bearer qv_your_api_key" \
  -o response.xlsx
GET/api/v1/projects/:id/export/pdfGrowth

Export a project as a branded PDF document with cover page, stats, and all Q&A pairs.

Parameters

ParameterTypeRequiredDescription
iduuidRequiredProject ID (path parameter)

Response

json
Binary file (application/pdf)
bash
curl -X GET "https://quova.co/api/v1/projects/PROJECT_ID/export/pdf" \
  -H "Authorization: Bearer qv_your_api_key" \
  -o response.pdf
GET/api/v1/projects/:id/export/docxGrowth

Export a project as a Word document with formatted Q&A pairs and metadata.

Parameters

ParameterTypeRequiredDescription
iduuidRequiredProject ID (path parameter)

Response

json
Binary file (application/vnd.openxmlformats-officedocument.wordprocessingml.document)
bash
curl -X GET "https://quova.co/api/v1/projects/PROJECT_ID/export/docx" \
  -H "Authorization: Bearer qv_your_api_key" \
  -o response.docx

Need help? Contact us at support@quova.co