import Avido from 'avido';
const client = new Avido({
apiKey: process.env['AVIDO_API_KEY'], // This is the default and can be omitted
applicationID: process.env['AVIDO_APPLICATION_ID'], // This is the default and can be omitted
});
const document = await client.documents.create({
content: 'This document describes the API endpoints...',
title: 'API Documentation',
assignee: 'user_123456789',
language: 'english',
status: 'DRAFT',
});
console.log(document.document);import os
from avido import Avido
client = Avido(
api_key=os.environ.get("AVIDO_API_KEY"), # This is the default and can be omitted
application_id=os.environ.get("AVIDO_APPLICATION_ID"), # This is the default and can be omitted
)
document = client.documents.create(
content="This document describes the API endpoints...",
title="API Documentation",
assignee="user_123456789",
language="english",
status="DRAFT",
)
print(document.document)curl --request POST \
--url https://api.avidoai.com/v0/documents \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--header 'x-application-id: <api-key>' \
--data '
{
"assignee": "user_123456789",
"title": "API Documentation",
"content": "This document describes the API endpoints...",
"status": "DRAFT",
"language": "english"
}
'<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.avidoai.com/v0/documents",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'assignee' => 'user_123456789',
'title' => 'API Documentation',
'content' => 'This document describes the API endpoints...',
'status' => 'DRAFT',
'language' => 'english'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"x-api-key: <api-key>",
"x-application-id: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.avidoai.com/v0/documents"
payload := strings.NewReader("{\n \"assignee\": \"user_123456789\",\n \"title\": \"API Documentation\",\n \"content\": \"This document describes the API endpoints...\",\n \"status\": \"DRAFT\",\n \"language\": \"english\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-api-key", "<api-key>")
req.Header.Add("x-application-id", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.avidoai.com/v0/documents")
.header("x-api-key", "<api-key>")
.header("x-application-id", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"assignee\": \"user_123456789\",\n \"title\": \"API Documentation\",\n \"content\": \"This document describes the API endpoints...\",\n \"status\": \"DRAFT\",\n \"language\": \"english\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.avidoai.com/v0/documents")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-api-key"] = '<api-key>'
request["x-application-id"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"assignee\": \"user_123456789\",\n \"title\": \"API Documentation\",\n \"content\": \"This document describes the API endpoints...\",\n \"status\": \"DRAFT\",\n \"language\": \"english\"\n}"
response = http.request(request)
puts response.read_body{
"document": {
"id": "123e4567-e89b-12d3-a456-426614174000",
"createdAt": "2024-01-05T12:34:56.789Z",
"modifiedAt": "2024-01-05T12:34:56.789Z",
"orgId": "org_123456789",
"applicationId": "456e4567-e89b-12d3-a456-426614174000",
"type": "KNOWLEDGE",
"optimized": false,
"isVerified": false,
"status": "ACTIVE",
"versions": [
{
"id": "321e4567-e89b-12d3-a456-426614174001",
"createdAt": "2024-01-05T12:34:56.789Z",
"modifiedAt": "2024-01-05T12:34:56.789Z",
"orgId": "org_123456789",
"applicationId": "456e4567-e89b-12d3-a456-426614174000",
"title": "API Documentation",
"content": "This document describes the API endpoints...",
"metadata": {},
"originalSentences": [
"This is the first sentence.",
"This is the second sentence."
],
"language": "english",
"status": "APPROVED",
"type": "KNOWLEDGE",
"versionNumber": 1,
"documentId": "123e4567-e89b-12d3-a456-426614174000"
}
],
"title": "<string>",
"content": "<string>",
"assignee": "user_123456789",
"scrapeJob": {
"id": "123e4567-e89b-12d3-a456-426614174000",
"createdAt": "2024-01-05T12:34:56.789Z",
"modifiedAt": "2024-01-05T12:34:56.789Z",
"orgId": "org_123",
"applicationId": "456e4567-e89b-12d3-a456-426614174000",
"initiatedBy": "user_123",
"name": "Documentation Scrape",
"url": "https://example.com",
"status": "PENDING",
"quickstartStatus": "NOT_ASSOCIATED",
"pages": [
{
"url": "https://example.com/page1",
"title": "Page 1",
"description": "This is the first page of the documentation.",
"category": "Documentation"
},
{
"url": "https://example.com/page2"
}
],
"failedPages": [
{
"url": "https://example.com/page3",
"error": "Connection timeout after 5 retries"
}
]
},
"scrapeJobId": "321e4567-e89b-12d3-a456-426614174000",
"fileProcessingId": "654e7890-e89b-12d3-a456-426614174000",
"topicId": "789e1234-e89b-12d3-a456-426614174000"
}
}{
"message": "Resource not found"
}{
"message": "Resource not found"
}{
"message": "Resource not found"
}{
"message": "Invalid request data",
"issues": [
{
"code": "invalid_string",
"message": "Invalid UUID",
"path": [
"id"
]
}
]
}{
"message": "Resource not found"
}Create a new document
Creates a new document with the provided information.
import Avido from 'avido';
const client = new Avido({
apiKey: process.env['AVIDO_API_KEY'], // This is the default and can be omitted
applicationID: process.env['AVIDO_APPLICATION_ID'], // This is the default and can be omitted
});
const document = await client.documents.create({
content: 'This document describes the API endpoints...',
title: 'API Documentation',
assignee: 'user_123456789',
language: 'english',
status: 'DRAFT',
});
console.log(document.document);import os
from avido import Avido
client = Avido(
api_key=os.environ.get("AVIDO_API_KEY"), # This is the default and can be omitted
application_id=os.environ.get("AVIDO_APPLICATION_ID"), # This is the default and can be omitted
)
document = client.documents.create(
content="This document describes the API endpoints...",
title="API Documentation",
assignee="user_123456789",
language="english",
status="DRAFT",
)
print(document.document)curl --request POST \
--url https://api.avidoai.com/v0/documents \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--header 'x-application-id: <api-key>' \
--data '
{
"assignee": "user_123456789",
"title": "API Documentation",
"content": "This document describes the API endpoints...",
"status": "DRAFT",
"language": "english"
}
'<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.avidoai.com/v0/documents",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'assignee' => 'user_123456789',
'title' => 'API Documentation',
'content' => 'This document describes the API endpoints...',
'status' => 'DRAFT',
'language' => 'english'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"x-api-key: <api-key>",
"x-application-id: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.avidoai.com/v0/documents"
payload := strings.NewReader("{\n \"assignee\": \"user_123456789\",\n \"title\": \"API Documentation\",\n \"content\": \"This document describes the API endpoints...\",\n \"status\": \"DRAFT\",\n \"language\": \"english\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-api-key", "<api-key>")
req.Header.Add("x-application-id", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.avidoai.com/v0/documents")
.header("x-api-key", "<api-key>")
.header("x-application-id", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"assignee\": \"user_123456789\",\n \"title\": \"API Documentation\",\n \"content\": \"This document describes the API endpoints...\",\n \"status\": \"DRAFT\",\n \"language\": \"english\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.avidoai.com/v0/documents")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-api-key"] = '<api-key>'
request["x-application-id"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"assignee\": \"user_123456789\",\n \"title\": \"API Documentation\",\n \"content\": \"This document describes the API endpoints...\",\n \"status\": \"DRAFT\",\n \"language\": \"english\"\n}"
response = http.request(request)
puts response.read_body{
"document": {
"id": "123e4567-e89b-12d3-a456-426614174000",
"createdAt": "2024-01-05T12:34:56.789Z",
"modifiedAt": "2024-01-05T12:34:56.789Z",
"orgId": "org_123456789",
"applicationId": "456e4567-e89b-12d3-a456-426614174000",
"type": "KNOWLEDGE",
"optimized": false,
"isVerified": false,
"status": "ACTIVE",
"versions": [
{
"id": "321e4567-e89b-12d3-a456-426614174001",
"createdAt": "2024-01-05T12:34:56.789Z",
"modifiedAt": "2024-01-05T12:34:56.789Z",
"orgId": "org_123456789",
"applicationId": "456e4567-e89b-12d3-a456-426614174000",
"title": "API Documentation",
"content": "This document describes the API endpoints...",
"metadata": {},
"originalSentences": [
"This is the first sentence.",
"This is the second sentence."
],
"language": "english",
"status": "APPROVED",
"type": "KNOWLEDGE",
"versionNumber": 1,
"documentId": "123e4567-e89b-12d3-a456-426614174000"
}
],
"title": "<string>",
"content": "<string>",
"assignee": "user_123456789",
"scrapeJob": {
"id": "123e4567-e89b-12d3-a456-426614174000",
"createdAt": "2024-01-05T12:34:56.789Z",
"modifiedAt": "2024-01-05T12:34:56.789Z",
"orgId": "org_123",
"applicationId": "456e4567-e89b-12d3-a456-426614174000",
"initiatedBy": "user_123",
"name": "Documentation Scrape",
"url": "https://example.com",
"status": "PENDING",
"quickstartStatus": "NOT_ASSOCIATED",
"pages": [
{
"url": "https://example.com/page1",
"title": "Page 1",
"description": "This is the first page of the documentation.",
"category": "Documentation"
},
{
"url": "https://example.com/page2"
}
],
"failedPages": [
{
"url": "https://example.com/page3",
"error": "Connection timeout after 5 retries"
}
]
},
"scrapeJobId": "321e4567-e89b-12d3-a456-426614174000",
"fileProcessingId": "654e7890-e89b-12d3-a456-426614174000",
"topicId": "789e1234-e89b-12d3-a456-426614174000"
}
}{
"message": "Resource not found"
}{
"message": "Resource not found"
}{
"message": "Resource not found"
}{
"message": "Invalid request data",
"issues": [
{
"code": "invalid_string",
"message": "Invalid UUID",
"path": [
"id"
]
}
]
}{
"message": "Resource not found"
}Authorizations
Your unique Avido API key
Your unique Avido Application ID
Body
Request body for creating a new document with its initial version
Title of the initial document version
"API Documentation"
Content of the initial document version
"This document describes the API endpoints..."
User ID of the person assigned to this document. Defaults to the authenticated user if not provided.
"user_123456789"
Optional ID of the scrape job that generated this document
^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"321e4567-e89b-12d3-a456-426614174000"
Type of the document. Defaults to KNOWLEDGE.
KNOWLEDGE, POLICY "KNOWLEDGE"
Optional ID of the topic this document belongs to
^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"789e1234-e89b-12d3-a456-426614174000"
Optional metadata for the initial document version
Show child attributes
Show child attributes
Array of original sentences from the source
[
"This is the first sentence.",
"This is the second sentence."
]
Status of the initial document version
DRAFT, REVIEW, APPROVED, ARCHIVED, ACTIVE "DRAFT"
Language of the initial document version
"english"
Response
Document created successfully
Successful response containing the document data
Show child attributes
Show child attributes