(888) 881-1066
TwitterLinkedInFacebookInstagramYouTube
ech
win
  • Pricing

API Reference

Complete API documentation for echowin

Getting Started
AI Integration
New
Authentication
Contacts
Agents
Knowledgebase
Calls
Agency

Rate Limits

  • • Standard: 100/min
  • • Search: 30/min
  • • Write: 60/min
  • • Bulk: 10/min
View details →

API Reference

Complete API documentation for echowin

Rate Limits

Standard: 100/min • Search: 30/min • Write: 60/min • Bulk: 10/min

View details →

Knowledgebase API

The Knowledgebase API allows you to programmatically manage knowledgebase items including webpages, documents, and Q&A references. These knowledge sources are used by your AI agents to provide accurate responses.

Rate Limits & Pricing

  • Get/Update Operations: 100 requests per hour
  • Search (Dhyan Knowledge): 10,000 queries per hour — 1 credit per search
  • Webpage Refresh: Once per 24 hours per webpage

Table of Contents

Knowledgebase

Webpages

Documents

Q&A References

Access via Agent ID

GET/api/v1/knowledgebase/:knowledgebaseId

Get a knowledgebase with all its items (webpages, documents, and references)

Path Parameters

knowledgebaseIdstringrequired

The unique identifier (UUID) of the knowledgebase

Responses

200Success
{
  "data": {
    "id": "kb-uuid-1234",
    "name": "Customer Support KB",
    "description": "Knowledge base for support agents",
    "webpages": [
      {
        "id": "webpage-uuid-1",
        "url": "https://example.com/faq",
        "name": "FAQ Page",
        "notes": "Main FAQ content",
        "lastScrapedAt": "2024-01-15T10:00:00.000Z",
        "isUpdating": false
      }
    ],
    "documents": [
      {
        "id": "doc-uuid-1",
        "fileName": "product-manual.pdf",
        "name": "Product Manual",
        "notes": "Complete product documentation",
        "isUpdating": false
      }
    ],
    "references": [
      {
        "id": "ref-uuid-1",
        "question": "What are your business hours?",
        "answer": "We are open Monday to Friday, 9 AM to 5 PM EST.",
        "type": "QA"
      }
    ]
  }
}
404Knowledgebase not found
{
  "error": "Knowledgebase not found"
}

API Tester

GET https://echo.win/api/v1/knowledgebase/:knowledgebaseId
GET/api/v1/knowledgebase/:knowledgebaseId/search

Search the knowledgebase using our Dhyan Knowledge engine. Each search query costs 1 credit.

Path Parameters

knowledgebaseIdstringrequired

The unique identifier (UUID) of the knowledgebase

Query Parameters

querystringrequired

The search query (max 2000 characters). This will be semantically matched against your knowledgebase content.

limitinteger(default: 10)

Maximum number of results to return (max 50)

thresholdnumber(default: 0.1)

Minimum similarity threshold (0-1). Higher values return more relevant but fewer results.

Responses

200Success
{
  "data": [
    {
      "id": "ref-uuid-1",
      "question": "What are your business hours?",
      "answer": "We are open Monday to Friday, 9 AM to 5 PM EST. On weekends, we offer limited support from 10 AM to 2 PM.",
      "similarity": 0.892,
      "type": "QA",
      "source": "manual"
    },
    {
      "id": "ref-uuid-2",
      "question": "When is customer support available?",
      "answer": "Our customer support team is available during business hours. For urgent matters, you can use our 24/7 chat bot.",
      "similarity": 0.756,
      "type": "QA",
      "source": "webpage"
    }
  ],
  "meta": {
    "query": "What time are you open?",
    "resultCount": 2,
    "limit": 10,
    "threshold": 0.1,
    "creditsUsed": 1
  }
}
400Validation error
{
  "error": "Validation error",
  "details": [
    {
      "field": "query",
      "message": "Query is required"
    }
  ]
}
404Knowledgebase not found
{
  "error": "Knowledgebase not found"
}

API Tester

GET https://echo.win/api/v1/knowledgebase/:knowledgebaseId/search
query
limit
threshold

Webpages

GET/api/v1/knowledgebase/:knowledgebaseId/webpages/:webpageId

Get a specific webpage with its extracted content

Path Parameters

knowledgebaseIdstringrequired

The unique identifier of the knowledgebase

webpageIdstringrequired

The unique identifier of the webpage

Responses

200Success
{
  "data": {
    "id": "webpage-uuid-1",
    "url": "https://example.com/faq",
    "name": "FAQ Page",
    "notes": "Main FAQ content",
    "lastScrapedAt": "2024-01-15T10:00:00.000Z",
    "isUpdating": false,
    "extractedContent": [
      {
        "id": "ref-uuid-1",
        "question": "What is your return policy?",
        "answer": "You can return items within 30 days..."
      }
    ]
  }
}

API Tester

GET https://echo.win/api/v1/knowledgebase/:knowledgebaseId/webpages/:webpageId
PUT/api/v1/knowledgebase/:knowledgebaseId/webpages/:webpageId

Update webpage metadata (name, URL, notes)

Path Parameters

knowledgebaseIdstringrequired

The unique identifier of the knowledgebase

webpageIdstringrequired

The unique identifier of the webpage

Request Body

namestring

Display name for the webpage (max 255 characters)

urlstring

The URL of the webpage

notesstring

Optional notes about this webpage (max 5000 characters)

Responses

200Success
{
  "data": {
    "id": "webpage-uuid-1",
    "url": "https://example.com/new-faq",
    "name": "Updated FAQ Page",
    "notes": "Updated notes",
    "lastScrapedAt": "2024-01-15T10:00:00.000Z",
    "isUpdating": false
  },
  "message": "Webpage updated successfully"
}

API Tester

PUT https://echo.win/api/v1/knowledgebase/:knowledgebaseId/webpages/:webpageId
POST/api/v1/knowledgebase/:knowledgebaseId/webpages/:webpageId/refresh

Re-scrape and update the content of a webpage. Limited to once per 24 hours per webpage.

Path Parameters

knowledgebaseIdstringrequired

The unique identifier of the knowledgebase

webpageIdstringrequired

The unique identifier of the webpage

Responses

200Refresh queued
{
  "data": {
    "id": "webpage-uuid-1",
    "url": "https://example.com/faq",
    "name": "FAQ Page",
    "status": "refreshing"
  },
  "message": "Webpage refresh has been queued. The content will be updated shortly."
}
409Already refreshing
{
  "error": "Webpage is already being refreshed"
}
429Rate limit exceeded
{
  "error": "Rate limit exceeded. Webpages can only be refreshed once per day.",
  "nextAvailableAt": "2024-01-16T10:00:00.000Z"
}

API Tester

POST https://echo.win/api/v1/knowledgebase/:knowledgebaseId/webpages/:webpageId/refresh

Documents

GET/api/v1/knowledgebase/:knowledgebaseId/documents/:documentId

Get a specific document with its extracted content

Path Parameters

knowledgebaseIdstringrequired

The unique identifier of the knowledgebase

documentIdstringrequired

The unique identifier of the document

Responses

200Success
{
  "data": {
    "id": "doc-uuid-1",
    "fileName": "product-manual.pdf",
    "name": "Product Manual",
    "notes": "Complete product documentation",
    "isUpdating": false,
    "extractedContent": [
      {
        "id": "ref-uuid-1",
        "question": "How to install the product?",
        "answer": "Follow these installation steps..."
      }
    ]
  }
}

API Tester

GET https://echo.win/api/v1/knowledgebase/:knowledgebaseId/documents/:documentId
PUT/api/v1/knowledgebase/:knowledgebaseId/documents/:documentId

Update document metadata (name, notes)

Path Parameters

knowledgebaseIdstringrequired

The unique identifier of the knowledgebase

documentIdstringrequired

The unique identifier of the document

Request Body

namestring

Display name for the document (max 255 characters)

notesstring

Optional notes about this document (max 5000 characters)

Responses

200Success
{
  "data": {
    "id": "doc-uuid-1",
    "fileName": "product-manual.pdf",
    "name": "Updated Product Manual",
    "notes": "Updated notes",
    "isUpdating": false
  },
  "message": "Document updated successfully"
}

API Tester

PUT https://echo.win/api/v1/knowledgebase/:knowledgebaseId/documents/:documentId

Q&A References

GET/api/v1/knowledgebase/:knowledgebaseId/references/:referenceId

Get a specific Q&A reference

Path Parameters

knowledgebaseIdstringrequired

The unique identifier of the knowledgebase

referenceIdstringrequired

The unique identifier of the reference

Responses

200Success
{
  "data": {
    "id": "ref-uuid-1",
    "question": "What are your business hours?",
    "answer": "We are open Monday to Friday, 9 AM to 5 PM EST.",
    "type": "QA"
  }
}

API Tester

GET https://echo.win/api/v1/knowledgebase/:knowledgebaseId/references/:referenceId
PUT/api/v1/knowledgebase/:knowledgebaseId/references/:referenceId

Update a Q&A reference. The embedding will be automatically regenerated if the question or answer changes.

Path Parameters

knowledgebaseIdstringrequired

The unique identifier of the knowledgebase

referenceIdstringrequired

The unique identifier of the reference

Request Body

questionstring

The question that this reference answers (max 5000 characters)

answerstring

The answer to the question (max 50000 characters)

Responses

200Success
{
  "data": {
    "id": "ref-uuid-1",
    "question": "What are your updated business hours?",
    "answer": "We are now open Monday to Saturday, 8 AM to 6 PM EST.",
    "type": "QA"
  },
  "message": "Reference updated successfully"
}

API Tester

PUT https://echo.win/api/v1/knowledgebase/:knowledgebaseId/references/:referenceId

Access via Agent ID

All knowledgebase endpoints are also available via the agent's assigned knowledgebase. Use these endpoints when you want to work with an agent's knowledge without knowing the knowledgebase ID directly. The responses are identical to the knowledgebase ID endpoints.

GET/api/v1/agents/:agentId/knowledgebase

Get the knowledgebase assigned to an agent with all its items (webpages, documents, and references)

Path Parameters

agentIdstringrequired

The unique identifier (UUID) of the agent

Responses

200Success
{
  "data": {
    "agent": {
      "id": "agent-uuid-1234",
      "name": "Customer Support Agent"
    },
    "knowledgebase": {
      "id": "kb-uuid-1234",
      "name": "Customer Support KB",
      "description": "Knowledge base for support agents",
      "webpages": [
        {
          "id": "webpage-uuid-1",
          "url": "https://example.com/faq",
          "name": "FAQ Page",
          "lastScrapedAt": "2024-01-15T10:00:00.000Z",
          "isUpdating": false
        }
      ],
      "documents": [
        {
          "id": "doc-uuid-1",
          "fileName": "product-manual.pdf",
          "name": "Product Manual",
          "isUpdating": false
        }
      ],
      "references": [
        {
          "id": "ref-uuid-1",
          "question": "What are your business hours?",
          "answer": "We are open Monday to Friday, 9 AM to 5 PM EST.",
          "type": "QA"
        }
      ]
    }
  }
}
404Agent not found or has no knowledgebase
{
  "error": "Agent does not have a knowledgebase assigned"
}

API Tester

GET https://echo.win/api/v1/agents/:agentId/knowledgebase
GET/api/v1/agents/:agentId/knowledgebase/search

Search the agent's knowledgebase using our Dhyan Knowledge engine. Each search query costs 1 credit.

Path Parameters

agentIdstringrequired

The unique identifier (UUID) of the agent

Query Parameters

querystringrequired

The search query - what you want to find (max 2000 characters)

limitinteger

Maximum number of results to return (default: 10, max: 50)

thresholdnumber

Minimum similarity threshold from 0 to 1 (default: 0.1)

Responses

200Success
{
  "data": [
    {
      "id": "ref-uuid-1",
      "question": "What are your business hours?",
      "answer": "We are open Monday to Friday, 9 AM to 5 PM EST.",
      "similarity": 0.892,
      "type": "QA",
      "source": "manual"
    }
  ],
  "meta": {
    "agentId": "agent-uuid-1234",
    "agentName": "Customer Support Agent",
    "knowledgebaseId": "kb-uuid-1234",
    "query": "What time are you open?",
    "resultCount": 1,
    "limit": 10,
    "threshold": 0.1,
    "creditsUsed": 1
  }
}

API Tester

GET https://echo.win/api/v1/agents/:agentId/knowledgebase/search
query*
limit
threshold

Other Agent-Based Endpoints

All knowledgebase item endpoints are available via the agent path. These work identically to their knowledgebase ID counterparts:

  • GET/PUT/api/v1/agents/:agentId/knowledgebase/webpages/:webpageId
  • POST/api/v1/agents/:agentId/knowledgebase/webpages/:webpageId/refresh
  • GET/PUT/api/v1/agents/:agentId/knowledgebase/documents/:documentId
  • GET/PUT/api/v1/agents/:agentId/knowledgebase/references/:referenceId
ech
win

echowin is the leading AI Receptionist And Call Automation Platform, enabling businesses to create and deploy intelligent agents for phone, chat, and Discord in minutes.

(888) 881-1066support@echo.win

Boulder, Austin & Kathmandu

Products

  • Agent Builder Platform
  • AI Voice Agent
  • AI Chatbot
  • AI Receptionist
  • Business Phone Number
  • Free AI CRM

Solutions

  • Receptionist
  • Customer Support
  • Collections
  • Appointment Scheduling
  • Lead Qualification
  • Call Routing
  • Multilingual Support
  • After Hours

Industries

  • Energy & Power
  • Roofing
  • Automotive Repair
  • Medical Practice
  • Security Operations
  • Call Center
  • Agencies & Resellers

Resources

  • Blog
  • Documentation
  • API Documentation
  • Reviews & Mentions
  • FAQ
  • News
  • Changelog
  • About Us
  • Contact Us
  • Career

Compare

  • echowin vs Vapi
  • echowin vs Bland AI
  • echowin vs Retell AI
  • echowin vs Synthflow
  • echowin vs Voiceflow
Terms of ServicePrivacy PolicyLimited Use DisclosureUser Data Deletion
TwitterLinkedInFacebookInstagramYouTube

© 2026 echowin Inc. All rights reserved.Built with ❤️ in Boulder, Austin, and Kathmandu