import os
from qaip import Qaip
client = Qaip(
api_key=os.environ.get("QAIP_API_KEY"), # This is the default and can be omitted
)
response = client.extract(
schema={},
)
print(response.created)curl --request POST \
--url https://developer.qaip.com/api/v1/extract \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"schema": {},
"tags": [
"<string>"
],
"tag_ids": [
"<string>"
],
"tag_filter_logic": "OR",
"source_types": [],
"file_types": [],
"date_from": 1735639201,
"date_to": 1735639201,
"domains": [
"<string>"
],
"metadata": {
"logic": "OR",
"filters": [
{
"key": "<string>",
"operator": "eq",
"val": "<unknown>",
"min": "<unknown>",
"max": "<unknown>"
}
],
"groups": "<array>"
},
"source_metadata": {
"logic": "OR",
"filters": [
{
"key": "<string>",
"operator": "eq",
"val": "<unknown>",
"min": "<unknown>",
"max": "<unknown>"
}
],
"groups": "<array>"
},
"chunk_metadata": {
"logic": "OR",
"filters": [
{
"key": "<string>",
"operator": "eq",
"val": "<unknown>",
"min": "<unknown>",
"max": "<unknown>"
}
],
"groups": "<array>"
},
"use_postfilter": false,
"limit": 10,
"offset": 0,
"authz_policy": "external-chatbot",
"principal_id": "user-123",
"prompt": "<string>",
"use_related": true,
"related_filter": {
"tags": [
"<string>"
],
"tag_ids": [
"<string>"
],
"tag_filter_logic": "OR",
"source_types": [],
"file_types": [],
"date_from": 1735639201,
"date_to": 1735639201,
"domains": [
"<string>"
],
"metadata": {
"logic": "OR",
"filters": [
{
"key": "<string>",
"operator": "eq",
"val": "<unknown>",
"min": "<unknown>",
"max": "<unknown>"
}
],
"groups": [
"<unknown>"
]
},
"source_metadata": {
"logic": "OR",
"filters": [
{
"key": "<string>",
"operator": "eq",
"val": "<unknown>",
"min": "<unknown>",
"max": "<unknown>"
}
],
"groups": [
"<unknown>"
]
},
"chunk_metadata": {
"logic": "OR",
"filters": [
{
"key": "<string>",
"operator": "eq",
"val": "<unknown>",
"min": "<unknown>",
"max": "<unknown>"
}
],
"groups": [
"<unknown>"
]
},
"use_postfilter": false,
"limit": 10,
"offset": 0
}
}
'const options = {
method: 'POST',
headers: {'x-api-key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
schema: {},
tags: ['<string>'],
tag_ids: ['<string>'],
tag_filter_logic: 'OR',
source_types: [],
file_types: [],
date_from: 1735639201,
date_to: 1735639201,
domains: ['<string>'],
metadata: {
logic: 'OR',
filters: [
{
key: '<string>',
operator: 'eq',
val: '<unknown>',
min: '<unknown>',
max: '<unknown>'
}
],
groups: '<array>'
},
source_metadata: {
logic: 'OR',
filters: [
{
key: '<string>',
operator: 'eq',
val: '<unknown>',
min: '<unknown>',
max: '<unknown>'
}
],
groups: '<array>'
},
chunk_metadata: {
logic: 'OR',
filters: [
{
key: '<string>',
operator: 'eq',
val: '<unknown>',
min: '<unknown>',
max: '<unknown>'
}
],
groups: '<array>'
},
use_postfilter: false,
limit: 10,
offset: 0,
authz_policy: 'external-chatbot',
principal_id: 'user-123',
prompt: '<string>',
use_related: true,
related_filter: {
tags: ['<string>'],
tag_ids: ['<string>'],
tag_filter_logic: 'OR',
source_types: [],
file_types: [],
date_from: 1735639201,
date_to: 1735639201,
domains: ['<string>'],
metadata: {
logic: 'OR',
filters: [
{
key: '<string>',
operator: 'eq',
val: '<unknown>',
min: '<unknown>',
max: '<unknown>'
}
],
groups: ['<unknown>']
},
source_metadata: {
logic: 'OR',
filters: [
{
key: '<string>',
operator: 'eq',
val: '<unknown>',
min: '<unknown>',
max: '<unknown>'
}
],
groups: ['<unknown>']
},
chunk_metadata: {
logic: 'OR',
filters: [
{
key: '<string>',
operator: 'eq',
val: '<unknown>',
min: '<unknown>',
max: '<unknown>'
}
],
groups: ['<unknown>']
},
use_postfilter: false,
limit: 10,
offset: 0
}
})
};
fetch('https://developer.qaip.com/api/v1/extract', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://developer.qaip.com/api/v1/extract",
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([
'schema' => [
],
'tags' => [
'<string>'
],
'tag_ids' => [
'<string>'
],
'tag_filter_logic' => 'OR',
'source_types' => [
],
'file_types' => [
],
'date_from' => 1735639201,
'date_to' => 1735639201,
'domains' => [
'<string>'
],
'metadata' => [
'logic' => 'OR',
'filters' => [
[
'key' => '<string>',
'operator' => 'eq',
'val' => '<unknown>',
'min' => '<unknown>',
'max' => '<unknown>'
]
],
'groups' => '<array>'
],
'source_metadata' => [
'logic' => 'OR',
'filters' => [
[
'key' => '<string>',
'operator' => 'eq',
'val' => '<unknown>',
'min' => '<unknown>',
'max' => '<unknown>'
]
],
'groups' => '<array>'
],
'chunk_metadata' => [
'logic' => 'OR',
'filters' => [
[
'key' => '<string>',
'operator' => 'eq',
'val' => '<unknown>',
'min' => '<unknown>',
'max' => '<unknown>'
]
],
'groups' => '<array>'
],
'use_postfilter' => false,
'limit' => 10,
'offset' => 0,
'authz_policy' => 'external-chatbot',
'principal_id' => 'user-123',
'prompt' => '<string>',
'use_related' => true,
'related_filter' => [
'tags' => [
'<string>'
],
'tag_ids' => [
'<string>'
],
'tag_filter_logic' => 'OR',
'source_types' => [
],
'file_types' => [
],
'date_from' => 1735639201,
'date_to' => 1735639201,
'domains' => [
'<string>'
],
'metadata' => [
'logic' => 'OR',
'filters' => [
[
'key' => '<string>',
'operator' => 'eq',
'val' => '<unknown>',
'min' => '<unknown>',
'max' => '<unknown>'
]
],
'groups' => [
'<unknown>'
]
],
'source_metadata' => [
'logic' => 'OR',
'filters' => [
[
'key' => '<string>',
'operator' => 'eq',
'val' => '<unknown>',
'min' => '<unknown>',
'max' => '<unknown>'
]
],
'groups' => [
'<unknown>'
]
],
'chunk_metadata' => [
'logic' => 'OR',
'filters' => [
[
'key' => '<string>',
'operator' => 'eq',
'val' => '<unknown>',
'min' => '<unknown>',
'max' => '<unknown>'
]
],
'groups' => [
'<unknown>'
]
],
'use_postfilter' => false,
'limit' => 10,
'offset' => 0
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"x-api-key: <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://developer.qaip.com/api/v1/extract"
payload := strings.NewReader("{\n \"schema\": {},\n \"tags\": [\n \"<string>\"\n ],\n \"tag_ids\": [\n \"<string>\"\n ],\n \"tag_filter_logic\": \"OR\",\n \"source_types\": [],\n \"file_types\": [],\n \"date_from\": 1735639201,\n \"date_to\": 1735639201,\n \"domains\": [\n \"<string>\"\n ],\n \"metadata\": {\n \"logic\": \"OR\",\n \"filters\": [\n {\n \"key\": \"<string>\",\n \"operator\": \"eq\",\n \"val\": \"<unknown>\",\n \"min\": \"<unknown>\",\n \"max\": \"<unknown>\"\n }\n ],\n \"groups\": \"<array>\"\n },\n \"source_metadata\": {\n \"logic\": \"OR\",\n \"filters\": [\n {\n \"key\": \"<string>\",\n \"operator\": \"eq\",\n \"val\": \"<unknown>\",\n \"min\": \"<unknown>\",\n \"max\": \"<unknown>\"\n }\n ],\n \"groups\": \"<array>\"\n },\n \"chunk_metadata\": {\n \"logic\": \"OR\",\n \"filters\": [\n {\n \"key\": \"<string>\",\n \"operator\": \"eq\",\n \"val\": \"<unknown>\",\n \"min\": \"<unknown>\",\n \"max\": \"<unknown>\"\n }\n ],\n \"groups\": \"<array>\"\n },\n \"use_postfilter\": false,\n \"limit\": 10,\n \"offset\": 0,\n \"authz_policy\": \"external-chatbot\",\n \"principal_id\": \"user-123\",\n \"prompt\": \"<string>\",\n \"use_related\": true,\n \"related_filter\": {\n \"tags\": [\n \"<string>\"\n ],\n \"tag_ids\": [\n \"<string>\"\n ],\n \"tag_filter_logic\": \"OR\",\n \"source_types\": [],\n \"file_types\": [],\n \"date_from\": 1735639201,\n \"date_to\": 1735639201,\n \"domains\": [\n \"<string>\"\n ],\n \"metadata\": {\n \"logic\": \"OR\",\n \"filters\": [\n {\n \"key\": \"<string>\",\n \"operator\": \"eq\",\n \"val\": \"<unknown>\",\n \"min\": \"<unknown>\",\n \"max\": \"<unknown>\"\n }\n ],\n \"groups\": [\n \"<unknown>\"\n ]\n },\n \"source_metadata\": {\n \"logic\": \"OR\",\n \"filters\": [\n {\n \"key\": \"<string>\",\n \"operator\": \"eq\",\n \"val\": \"<unknown>\",\n \"min\": \"<unknown>\",\n \"max\": \"<unknown>\"\n }\n ],\n \"groups\": [\n \"<unknown>\"\n ]\n },\n \"chunk_metadata\": {\n \"logic\": \"OR\",\n \"filters\": [\n {\n \"key\": \"<string>\",\n \"operator\": \"eq\",\n \"val\": \"<unknown>\",\n \"min\": \"<unknown>\",\n \"max\": \"<unknown>\"\n }\n ],\n \"groups\": [\n \"<unknown>\"\n ]\n },\n \"use_postfilter\": false,\n \"limit\": 10,\n \"offset\": 0\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-api-key", "<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://developer.qaip.com/api/v1/extract")
.header("x-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"schema\": {},\n \"tags\": [\n \"<string>\"\n ],\n \"tag_ids\": [\n \"<string>\"\n ],\n \"tag_filter_logic\": \"OR\",\n \"source_types\": [],\n \"file_types\": [],\n \"date_from\": 1735639201,\n \"date_to\": 1735639201,\n \"domains\": [\n \"<string>\"\n ],\n \"metadata\": {\n \"logic\": \"OR\",\n \"filters\": [\n {\n \"key\": \"<string>\",\n \"operator\": \"eq\",\n \"val\": \"<unknown>\",\n \"min\": \"<unknown>\",\n \"max\": \"<unknown>\"\n }\n ],\n \"groups\": \"<array>\"\n },\n \"source_metadata\": {\n \"logic\": \"OR\",\n \"filters\": [\n {\n \"key\": \"<string>\",\n \"operator\": \"eq\",\n \"val\": \"<unknown>\",\n \"min\": \"<unknown>\",\n \"max\": \"<unknown>\"\n }\n ],\n \"groups\": \"<array>\"\n },\n \"chunk_metadata\": {\n \"logic\": \"OR\",\n \"filters\": [\n {\n \"key\": \"<string>\",\n \"operator\": \"eq\",\n \"val\": \"<unknown>\",\n \"min\": \"<unknown>\",\n \"max\": \"<unknown>\"\n }\n ],\n \"groups\": \"<array>\"\n },\n \"use_postfilter\": false,\n \"limit\": 10,\n \"offset\": 0,\n \"authz_policy\": \"external-chatbot\",\n \"principal_id\": \"user-123\",\n \"prompt\": \"<string>\",\n \"use_related\": true,\n \"related_filter\": {\n \"tags\": [\n \"<string>\"\n ],\n \"tag_ids\": [\n \"<string>\"\n ],\n \"tag_filter_logic\": \"OR\",\n \"source_types\": [],\n \"file_types\": [],\n \"date_from\": 1735639201,\n \"date_to\": 1735639201,\n \"domains\": [\n \"<string>\"\n ],\n \"metadata\": {\n \"logic\": \"OR\",\n \"filters\": [\n {\n \"key\": \"<string>\",\n \"operator\": \"eq\",\n \"val\": \"<unknown>\",\n \"min\": \"<unknown>\",\n \"max\": \"<unknown>\"\n }\n ],\n \"groups\": [\n \"<unknown>\"\n ]\n },\n \"source_metadata\": {\n \"logic\": \"OR\",\n \"filters\": [\n {\n \"key\": \"<string>\",\n \"operator\": \"eq\",\n \"val\": \"<unknown>\",\n \"min\": \"<unknown>\",\n \"max\": \"<unknown>\"\n }\n ],\n \"groups\": [\n \"<unknown>\"\n ]\n },\n \"chunk_metadata\": {\n \"logic\": \"OR\",\n \"filters\": [\n {\n \"key\": \"<string>\",\n \"operator\": \"eq\",\n \"val\": \"<unknown>\",\n \"min\": \"<unknown>\",\n \"max\": \"<unknown>\"\n }\n ],\n \"groups\": [\n \"<unknown>\"\n ]\n },\n \"use_postfilter\": false,\n \"limit\": 10,\n \"offset\": 0\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://developer.qaip.com/api/v1/extract")
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["Content-Type"] = 'application/json'
request.body = "{\n \"schema\": {},\n \"tags\": [\n \"<string>\"\n ],\n \"tag_ids\": [\n \"<string>\"\n ],\n \"tag_filter_logic\": \"OR\",\n \"source_types\": [],\n \"file_types\": [],\n \"date_from\": 1735639201,\n \"date_to\": 1735639201,\n \"domains\": [\n \"<string>\"\n ],\n \"metadata\": {\n \"logic\": \"OR\",\n \"filters\": [\n {\n \"key\": \"<string>\",\n \"operator\": \"eq\",\n \"val\": \"<unknown>\",\n \"min\": \"<unknown>\",\n \"max\": \"<unknown>\"\n }\n ],\n \"groups\": \"<array>\"\n },\n \"source_metadata\": {\n \"logic\": \"OR\",\n \"filters\": [\n {\n \"key\": \"<string>\",\n \"operator\": \"eq\",\n \"val\": \"<unknown>\",\n \"min\": \"<unknown>\",\n \"max\": \"<unknown>\"\n }\n ],\n \"groups\": \"<array>\"\n },\n \"chunk_metadata\": {\n \"logic\": \"OR\",\n \"filters\": [\n {\n \"key\": \"<string>\",\n \"operator\": \"eq\",\n \"val\": \"<unknown>\",\n \"min\": \"<unknown>\",\n \"max\": \"<unknown>\"\n }\n ],\n \"groups\": \"<array>\"\n },\n \"use_postfilter\": false,\n \"limit\": 10,\n \"offset\": 0,\n \"authz_policy\": \"external-chatbot\",\n \"principal_id\": \"user-123\",\n \"prompt\": \"<string>\",\n \"use_related\": true,\n \"related_filter\": {\n \"tags\": [\n \"<string>\"\n ],\n \"tag_ids\": [\n \"<string>\"\n ],\n \"tag_filter_logic\": \"OR\",\n \"source_types\": [],\n \"file_types\": [],\n \"date_from\": 1735639201,\n \"date_to\": 1735639201,\n \"domains\": [\n \"<string>\"\n ],\n \"metadata\": {\n \"logic\": \"OR\",\n \"filters\": [\n {\n \"key\": \"<string>\",\n \"operator\": \"eq\",\n \"val\": \"<unknown>\",\n \"min\": \"<unknown>\",\n \"max\": \"<unknown>\"\n }\n ],\n \"groups\": [\n \"<unknown>\"\n ]\n },\n \"source_metadata\": {\n \"logic\": \"OR\",\n \"filters\": [\n {\n \"key\": \"<string>\",\n \"operator\": \"eq\",\n \"val\": \"<unknown>\",\n \"min\": \"<unknown>\",\n \"max\": \"<unknown>\"\n }\n ],\n \"groups\": [\n \"<unknown>\"\n ]\n },\n \"chunk_metadata\": {\n \"logic\": \"OR\",\n \"filters\": [\n {\n \"key\": \"<string>\",\n \"operator\": \"eq\",\n \"val\": \"<unknown>\",\n \"min\": \"<unknown>\",\n \"max\": \"<unknown>\"\n }\n ],\n \"groups\": [\n \"<unknown>\"\n ]\n },\n \"use_postfilter\": false,\n \"limit\": 10,\n \"offset\": 0\n }\n}"
response = http.request(request)
puts response.read_body{
"created": 123,
"result": {}
}{
"error": {
"message": "<string>",
"type": "<string>"
}
}{
"error": {
"message": "<string>",
"type": "<string>"
}
}{
"error": {
"message": "<string>",
"type": "<string>"
}
}{
"error": {
"message": "<string>",
"type": "<string>"
}
}{
"error": {
"message": "<string>",
"type": "<string>"
}
}Data extraction
Performs data extraction using LLM based on the specified data source, filter conditions, and JSON schema. Retrieves chunked data and uses the schema to extract and return the result as JSON via LLM.
Required roles: All, App
import os
from qaip import Qaip
client = Qaip(
api_key=os.environ.get("QAIP_API_KEY"), # This is the default and can be omitted
)
response = client.extract(
schema={},
)
print(response.created)curl --request POST \
--url https://developer.qaip.com/api/v1/extract \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"schema": {},
"tags": [
"<string>"
],
"tag_ids": [
"<string>"
],
"tag_filter_logic": "OR",
"source_types": [],
"file_types": [],
"date_from": 1735639201,
"date_to": 1735639201,
"domains": [
"<string>"
],
"metadata": {
"logic": "OR",
"filters": [
{
"key": "<string>",
"operator": "eq",
"val": "<unknown>",
"min": "<unknown>",
"max": "<unknown>"
}
],
"groups": "<array>"
},
"source_metadata": {
"logic": "OR",
"filters": [
{
"key": "<string>",
"operator": "eq",
"val": "<unknown>",
"min": "<unknown>",
"max": "<unknown>"
}
],
"groups": "<array>"
},
"chunk_metadata": {
"logic": "OR",
"filters": [
{
"key": "<string>",
"operator": "eq",
"val": "<unknown>",
"min": "<unknown>",
"max": "<unknown>"
}
],
"groups": "<array>"
},
"use_postfilter": false,
"limit": 10,
"offset": 0,
"authz_policy": "external-chatbot",
"principal_id": "user-123",
"prompt": "<string>",
"use_related": true,
"related_filter": {
"tags": [
"<string>"
],
"tag_ids": [
"<string>"
],
"tag_filter_logic": "OR",
"source_types": [],
"file_types": [],
"date_from": 1735639201,
"date_to": 1735639201,
"domains": [
"<string>"
],
"metadata": {
"logic": "OR",
"filters": [
{
"key": "<string>",
"operator": "eq",
"val": "<unknown>",
"min": "<unknown>",
"max": "<unknown>"
}
],
"groups": [
"<unknown>"
]
},
"source_metadata": {
"logic": "OR",
"filters": [
{
"key": "<string>",
"operator": "eq",
"val": "<unknown>",
"min": "<unknown>",
"max": "<unknown>"
}
],
"groups": [
"<unknown>"
]
},
"chunk_metadata": {
"logic": "OR",
"filters": [
{
"key": "<string>",
"operator": "eq",
"val": "<unknown>",
"min": "<unknown>",
"max": "<unknown>"
}
],
"groups": [
"<unknown>"
]
},
"use_postfilter": false,
"limit": 10,
"offset": 0
}
}
'const options = {
method: 'POST',
headers: {'x-api-key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
schema: {},
tags: ['<string>'],
tag_ids: ['<string>'],
tag_filter_logic: 'OR',
source_types: [],
file_types: [],
date_from: 1735639201,
date_to: 1735639201,
domains: ['<string>'],
metadata: {
logic: 'OR',
filters: [
{
key: '<string>',
operator: 'eq',
val: '<unknown>',
min: '<unknown>',
max: '<unknown>'
}
],
groups: '<array>'
},
source_metadata: {
logic: 'OR',
filters: [
{
key: '<string>',
operator: 'eq',
val: '<unknown>',
min: '<unknown>',
max: '<unknown>'
}
],
groups: '<array>'
},
chunk_metadata: {
logic: 'OR',
filters: [
{
key: '<string>',
operator: 'eq',
val: '<unknown>',
min: '<unknown>',
max: '<unknown>'
}
],
groups: '<array>'
},
use_postfilter: false,
limit: 10,
offset: 0,
authz_policy: 'external-chatbot',
principal_id: 'user-123',
prompt: '<string>',
use_related: true,
related_filter: {
tags: ['<string>'],
tag_ids: ['<string>'],
tag_filter_logic: 'OR',
source_types: [],
file_types: [],
date_from: 1735639201,
date_to: 1735639201,
domains: ['<string>'],
metadata: {
logic: 'OR',
filters: [
{
key: '<string>',
operator: 'eq',
val: '<unknown>',
min: '<unknown>',
max: '<unknown>'
}
],
groups: ['<unknown>']
},
source_metadata: {
logic: 'OR',
filters: [
{
key: '<string>',
operator: 'eq',
val: '<unknown>',
min: '<unknown>',
max: '<unknown>'
}
],
groups: ['<unknown>']
},
chunk_metadata: {
logic: 'OR',
filters: [
{
key: '<string>',
operator: 'eq',
val: '<unknown>',
min: '<unknown>',
max: '<unknown>'
}
],
groups: ['<unknown>']
},
use_postfilter: false,
limit: 10,
offset: 0
}
})
};
fetch('https://developer.qaip.com/api/v1/extract', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://developer.qaip.com/api/v1/extract",
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([
'schema' => [
],
'tags' => [
'<string>'
],
'tag_ids' => [
'<string>'
],
'tag_filter_logic' => 'OR',
'source_types' => [
],
'file_types' => [
],
'date_from' => 1735639201,
'date_to' => 1735639201,
'domains' => [
'<string>'
],
'metadata' => [
'logic' => 'OR',
'filters' => [
[
'key' => '<string>',
'operator' => 'eq',
'val' => '<unknown>',
'min' => '<unknown>',
'max' => '<unknown>'
]
],
'groups' => '<array>'
],
'source_metadata' => [
'logic' => 'OR',
'filters' => [
[
'key' => '<string>',
'operator' => 'eq',
'val' => '<unknown>',
'min' => '<unknown>',
'max' => '<unknown>'
]
],
'groups' => '<array>'
],
'chunk_metadata' => [
'logic' => 'OR',
'filters' => [
[
'key' => '<string>',
'operator' => 'eq',
'val' => '<unknown>',
'min' => '<unknown>',
'max' => '<unknown>'
]
],
'groups' => '<array>'
],
'use_postfilter' => false,
'limit' => 10,
'offset' => 0,
'authz_policy' => 'external-chatbot',
'principal_id' => 'user-123',
'prompt' => '<string>',
'use_related' => true,
'related_filter' => [
'tags' => [
'<string>'
],
'tag_ids' => [
'<string>'
],
'tag_filter_logic' => 'OR',
'source_types' => [
],
'file_types' => [
],
'date_from' => 1735639201,
'date_to' => 1735639201,
'domains' => [
'<string>'
],
'metadata' => [
'logic' => 'OR',
'filters' => [
[
'key' => '<string>',
'operator' => 'eq',
'val' => '<unknown>',
'min' => '<unknown>',
'max' => '<unknown>'
]
],
'groups' => [
'<unknown>'
]
],
'source_metadata' => [
'logic' => 'OR',
'filters' => [
[
'key' => '<string>',
'operator' => 'eq',
'val' => '<unknown>',
'min' => '<unknown>',
'max' => '<unknown>'
]
],
'groups' => [
'<unknown>'
]
],
'chunk_metadata' => [
'logic' => 'OR',
'filters' => [
[
'key' => '<string>',
'operator' => 'eq',
'val' => '<unknown>',
'min' => '<unknown>',
'max' => '<unknown>'
]
],
'groups' => [
'<unknown>'
]
],
'use_postfilter' => false,
'limit' => 10,
'offset' => 0
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"x-api-key: <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://developer.qaip.com/api/v1/extract"
payload := strings.NewReader("{\n \"schema\": {},\n \"tags\": [\n \"<string>\"\n ],\n \"tag_ids\": [\n \"<string>\"\n ],\n \"tag_filter_logic\": \"OR\",\n \"source_types\": [],\n \"file_types\": [],\n \"date_from\": 1735639201,\n \"date_to\": 1735639201,\n \"domains\": [\n \"<string>\"\n ],\n \"metadata\": {\n \"logic\": \"OR\",\n \"filters\": [\n {\n \"key\": \"<string>\",\n \"operator\": \"eq\",\n \"val\": \"<unknown>\",\n \"min\": \"<unknown>\",\n \"max\": \"<unknown>\"\n }\n ],\n \"groups\": \"<array>\"\n },\n \"source_metadata\": {\n \"logic\": \"OR\",\n \"filters\": [\n {\n \"key\": \"<string>\",\n \"operator\": \"eq\",\n \"val\": \"<unknown>\",\n \"min\": \"<unknown>\",\n \"max\": \"<unknown>\"\n }\n ],\n \"groups\": \"<array>\"\n },\n \"chunk_metadata\": {\n \"logic\": \"OR\",\n \"filters\": [\n {\n \"key\": \"<string>\",\n \"operator\": \"eq\",\n \"val\": \"<unknown>\",\n \"min\": \"<unknown>\",\n \"max\": \"<unknown>\"\n }\n ],\n \"groups\": \"<array>\"\n },\n \"use_postfilter\": false,\n \"limit\": 10,\n \"offset\": 0,\n \"authz_policy\": \"external-chatbot\",\n \"principal_id\": \"user-123\",\n \"prompt\": \"<string>\",\n \"use_related\": true,\n \"related_filter\": {\n \"tags\": [\n \"<string>\"\n ],\n \"tag_ids\": [\n \"<string>\"\n ],\n \"tag_filter_logic\": \"OR\",\n \"source_types\": [],\n \"file_types\": [],\n \"date_from\": 1735639201,\n \"date_to\": 1735639201,\n \"domains\": [\n \"<string>\"\n ],\n \"metadata\": {\n \"logic\": \"OR\",\n \"filters\": [\n {\n \"key\": \"<string>\",\n \"operator\": \"eq\",\n \"val\": \"<unknown>\",\n \"min\": \"<unknown>\",\n \"max\": \"<unknown>\"\n }\n ],\n \"groups\": [\n \"<unknown>\"\n ]\n },\n \"source_metadata\": {\n \"logic\": \"OR\",\n \"filters\": [\n {\n \"key\": \"<string>\",\n \"operator\": \"eq\",\n \"val\": \"<unknown>\",\n \"min\": \"<unknown>\",\n \"max\": \"<unknown>\"\n }\n ],\n \"groups\": [\n \"<unknown>\"\n ]\n },\n \"chunk_metadata\": {\n \"logic\": \"OR\",\n \"filters\": [\n {\n \"key\": \"<string>\",\n \"operator\": \"eq\",\n \"val\": \"<unknown>\",\n \"min\": \"<unknown>\",\n \"max\": \"<unknown>\"\n }\n ],\n \"groups\": [\n \"<unknown>\"\n ]\n },\n \"use_postfilter\": false,\n \"limit\": 10,\n \"offset\": 0\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-api-key", "<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://developer.qaip.com/api/v1/extract")
.header("x-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"schema\": {},\n \"tags\": [\n \"<string>\"\n ],\n \"tag_ids\": [\n \"<string>\"\n ],\n \"tag_filter_logic\": \"OR\",\n \"source_types\": [],\n \"file_types\": [],\n \"date_from\": 1735639201,\n \"date_to\": 1735639201,\n \"domains\": [\n \"<string>\"\n ],\n \"metadata\": {\n \"logic\": \"OR\",\n \"filters\": [\n {\n \"key\": \"<string>\",\n \"operator\": \"eq\",\n \"val\": \"<unknown>\",\n \"min\": \"<unknown>\",\n \"max\": \"<unknown>\"\n }\n ],\n \"groups\": \"<array>\"\n },\n \"source_metadata\": {\n \"logic\": \"OR\",\n \"filters\": [\n {\n \"key\": \"<string>\",\n \"operator\": \"eq\",\n \"val\": \"<unknown>\",\n \"min\": \"<unknown>\",\n \"max\": \"<unknown>\"\n }\n ],\n \"groups\": \"<array>\"\n },\n \"chunk_metadata\": {\n \"logic\": \"OR\",\n \"filters\": [\n {\n \"key\": \"<string>\",\n \"operator\": \"eq\",\n \"val\": \"<unknown>\",\n \"min\": \"<unknown>\",\n \"max\": \"<unknown>\"\n }\n ],\n \"groups\": \"<array>\"\n },\n \"use_postfilter\": false,\n \"limit\": 10,\n \"offset\": 0,\n \"authz_policy\": \"external-chatbot\",\n \"principal_id\": \"user-123\",\n \"prompt\": \"<string>\",\n \"use_related\": true,\n \"related_filter\": {\n \"tags\": [\n \"<string>\"\n ],\n \"tag_ids\": [\n \"<string>\"\n ],\n \"tag_filter_logic\": \"OR\",\n \"source_types\": [],\n \"file_types\": [],\n \"date_from\": 1735639201,\n \"date_to\": 1735639201,\n \"domains\": [\n \"<string>\"\n ],\n \"metadata\": {\n \"logic\": \"OR\",\n \"filters\": [\n {\n \"key\": \"<string>\",\n \"operator\": \"eq\",\n \"val\": \"<unknown>\",\n \"min\": \"<unknown>\",\n \"max\": \"<unknown>\"\n }\n ],\n \"groups\": [\n \"<unknown>\"\n ]\n },\n \"source_metadata\": {\n \"logic\": \"OR\",\n \"filters\": [\n {\n \"key\": \"<string>\",\n \"operator\": \"eq\",\n \"val\": \"<unknown>\",\n \"min\": \"<unknown>\",\n \"max\": \"<unknown>\"\n }\n ],\n \"groups\": [\n \"<unknown>\"\n ]\n },\n \"chunk_metadata\": {\n \"logic\": \"OR\",\n \"filters\": [\n {\n \"key\": \"<string>\",\n \"operator\": \"eq\",\n \"val\": \"<unknown>\",\n \"min\": \"<unknown>\",\n \"max\": \"<unknown>\"\n }\n ],\n \"groups\": [\n \"<unknown>\"\n ]\n },\n \"use_postfilter\": false,\n \"limit\": 10,\n \"offset\": 0\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://developer.qaip.com/api/v1/extract")
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["Content-Type"] = 'application/json'
request.body = "{\n \"schema\": {},\n \"tags\": [\n \"<string>\"\n ],\n \"tag_ids\": [\n \"<string>\"\n ],\n \"tag_filter_logic\": \"OR\",\n \"source_types\": [],\n \"file_types\": [],\n \"date_from\": 1735639201,\n \"date_to\": 1735639201,\n \"domains\": [\n \"<string>\"\n ],\n \"metadata\": {\n \"logic\": \"OR\",\n \"filters\": [\n {\n \"key\": \"<string>\",\n \"operator\": \"eq\",\n \"val\": \"<unknown>\",\n \"min\": \"<unknown>\",\n \"max\": \"<unknown>\"\n }\n ],\n \"groups\": \"<array>\"\n },\n \"source_metadata\": {\n \"logic\": \"OR\",\n \"filters\": [\n {\n \"key\": \"<string>\",\n \"operator\": \"eq\",\n \"val\": \"<unknown>\",\n \"min\": \"<unknown>\",\n \"max\": \"<unknown>\"\n }\n ],\n \"groups\": \"<array>\"\n },\n \"chunk_metadata\": {\n \"logic\": \"OR\",\n \"filters\": [\n {\n \"key\": \"<string>\",\n \"operator\": \"eq\",\n \"val\": \"<unknown>\",\n \"min\": \"<unknown>\",\n \"max\": \"<unknown>\"\n }\n ],\n \"groups\": \"<array>\"\n },\n \"use_postfilter\": false,\n \"limit\": 10,\n \"offset\": 0,\n \"authz_policy\": \"external-chatbot\",\n \"principal_id\": \"user-123\",\n \"prompt\": \"<string>\",\n \"use_related\": true,\n \"related_filter\": {\n \"tags\": [\n \"<string>\"\n ],\n \"tag_ids\": [\n \"<string>\"\n ],\n \"tag_filter_logic\": \"OR\",\n \"source_types\": [],\n \"file_types\": [],\n \"date_from\": 1735639201,\n \"date_to\": 1735639201,\n \"domains\": [\n \"<string>\"\n ],\n \"metadata\": {\n \"logic\": \"OR\",\n \"filters\": [\n {\n \"key\": \"<string>\",\n \"operator\": \"eq\",\n \"val\": \"<unknown>\",\n \"min\": \"<unknown>\",\n \"max\": \"<unknown>\"\n }\n ],\n \"groups\": [\n \"<unknown>\"\n ]\n },\n \"source_metadata\": {\n \"logic\": \"OR\",\n \"filters\": [\n {\n \"key\": \"<string>\",\n \"operator\": \"eq\",\n \"val\": \"<unknown>\",\n \"min\": \"<unknown>\",\n \"max\": \"<unknown>\"\n }\n ],\n \"groups\": [\n \"<unknown>\"\n ]\n },\n \"chunk_metadata\": {\n \"logic\": \"OR\",\n \"filters\": [\n {\n \"key\": \"<string>\",\n \"operator\": \"eq\",\n \"val\": \"<unknown>\",\n \"min\": \"<unknown>\",\n \"max\": \"<unknown>\"\n }\n ],\n \"groups\": [\n \"<unknown>\"\n ]\n },\n \"use_postfilter\": false,\n \"limit\": 10,\n \"offset\": 0\n }\n}"
response = http.request(request)
puts response.read_body{
"created": 123,
"result": {}
}{
"error": {
"message": "<string>",
"type": "<string>"
}
}{
"error": {
"message": "<string>",
"type": "<string>"
}
}{
"error": {
"message": "<string>",
"type": "<string>"
}
}{
"error": {
"message": "<string>",
"type": "<string>"
}
}{
"error": {
"message": "<string>",
"type": "<string>"
}
}Authorizations
API key for authentication
Body
JSON Schema for the data to be extracted.
Logical operator for combining filter conditions
AND, OR The type of the source
crawl, local_file, google_drive, github, notion The type of the source file
html, pdf, ppt, pptx, pptm, doc, docx, docm, xls, xlsx, xlsm, md, txt, jsonl, png, jpg, webp, heic, heif, wav, mp3, aiff, aac, m4a, ogg, flac, mp4, mpg, mov, avi, flv, webm, wmv, 3gp, notion_page Start date for content search (Unix timestamp in seconds)
x >= 1735639200End date for content search (Unix timestamp in seconds)
x >= 1735639200(reserved for future use) Filter group with nested structure. Supports combining filters with AND/OR logic.
Show child attributes
Show child attributes
Filter by individual source/file metadata from source_metadatas table
Show child attributes
Show child attributes
Filter by chunk-level metadata from chunk_metadatas table
Show child attributes
Show child attributes
Whether to bypass LanceDB prefilter and apply WHERE after the vector
search (IVF_PQ) returns top-K. Significantly faster for broad filters
that cover most of the table, but may return fewer than limit
results when the hit rate is low.
1 <= x <= 100x >= 0(reserved for future use) Name of the registered authz policy to evaluate when retrieving content. Defaults to the reserved "default" policy when omitted. Ignored when authz is disabled.
^[a-z][a-z0-9_-]{0,63}$"external-chatbot"
Identifier of the end-user (principal) on whose behalf this request is made. Used to look up the principal's authz subject attributes for policy evaluation. When omitted, subject attributes are empty (most restrictive). Ignored when authz is disabled.
256"user-123"
Additional prompt for the LLM (optional, if not specified, a default prompt in Japanese will be used).
Whether to search for and use related content
Show child attributes
Show child attributes

