curl --request GET \
--url https://app.letsflow.ai/v1/crawl_progress_corpus_issues \
--header 'Authorization: Bearer <token>'import requests
url = "https://app.letsflow.ai/v1/crawl_progress_corpus_issues"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://app.letsflow.ai/v1/crawl_progress_corpus_issues', 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://app.letsflow.ai/v1/crawl_progress_corpus_issues",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://app.letsflow.ai/v1/crawl_progress_corpus_issues"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://app.letsflow.ai/v1/crawl_progress_corpus_issues")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.letsflow.ai/v1/crawl_progress_corpus_issues")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"data": [
{
"resource": "crawl_progress_corpus_issue",
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"knowledge_source_binding_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"team_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"provider_key": "servicenow",
"source_scope_display_name": "<string>",
"code": "servicenow_provider_count_mismatch",
"matching_count": 1,
"observed_count": 1,
"traversal_complete": true,
"message": "<string>",
"recorded_at": "2023-11-07T05:31:56Z"
}
],
"page": {
"cursor": "<string>",
"next_cursor": "<string>",
"has_more": true,
"limit": 123
},
"meta": {
"request_id": "<string>",
"correlation_id": "<string>",
"operation": "<string>",
"resource": "<string>"
}
}{
"type": "https://app.letsflow.ai/problems/access-grant-not-found",
"title": "<string>",
"status": 123,
"code": "access_grant_admin_extension_required",
"detail": "<string>",
"instance": "<string>",
"request_id": "<string>",
"correlation_id": "<string>",
"retryable": true,
"auth_failure_reason": "<string>",
"availability_reason": "capability_disabled",
"re_auth_required": true,
"violations": [
{
"field": "<string>",
"message": "<string>",
"capability": "<string>",
"details": {}
}
],
"diagnostics": [
{
"code": "<string>",
"severity": "info",
"message": "<string>",
"fixHint": "<string>",
"location": {
"file": "<string>",
"line": 2,
"column": 2,
"stepId": "<string>"
}
}
]
}List Current knowledge corpus issues
Tenant-authorized current-corpus homework for Knowledge Monitoring Now. Today this is the live ServiceNow article listing count mismatch for a source. The provider count is higher than the articles returned. The latest Files or Access crawl can still be completed, and a later complete matching inventory clears the card. Authorization matches crawl-progress reads. Payloads omit article titles, URLs, and provider object identifiers.
curl --request GET \
--url https://app.letsflow.ai/v1/crawl_progress_corpus_issues \
--header 'Authorization: Bearer <token>'import requests
url = "https://app.letsflow.ai/v1/crawl_progress_corpus_issues"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://app.letsflow.ai/v1/crawl_progress_corpus_issues', 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://app.letsflow.ai/v1/crawl_progress_corpus_issues",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://app.letsflow.ai/v1/crawl_progress_corpus_issues"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://app.letsflow.ai/v1/crawl_progress_corpus_issues")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.letsflow.ai/v1/crawl_progress_corpus_issues")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"data": [
{
"resource": "crawl_progress_corpus_issue",
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"knowledge_source_binding_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"team_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"provider_key": "servicenow",
"source_scope_display_name": "<string>",
"code": "servicenow_provider_count_mismatch",
"matching_count": 1,
"observed_count": 1,
"traversal_complete": true,
"message": "<string>",
"recorded_at": "2023-11-07T05:31:56Z"
}
],
"page": {
"cursor": "<string>",
"next_cursor": "<string>",
"has_more": true,
"limit": 123
},
"meta": {
"request_id": "<string>",
"correlation_id": "<string>",
"operation": "<string>",
"resource": "<string>"
}
}{
"type": "https://app.letsflow.ai/problems/access-grant-not-found",
"title": "<string>",
"status": 123,
"code": "access_grant_admin_extension_required",
"detail": "<string>",
"instance": "<string>",
"request_id": "<string>",
"correlation_id": "<string>",
"retryable": true,
"auth_failure_reason": "<string>",
"availability_reason": "capability_disabled",
"re_auth_required": true,
"violations": [
{
"field": "<string>",
"message": "<string>",
"capability": "<string>",
"details": {}
}
],
"diagnostics": [
{
"code": "<string>",
"severity": "info",
"message": "<string>",
"fixHint": "<string>",
"location": {
"file": "<string>",
"line": 2,
"column": 2,
"stepId": "<string>"
}
}
]
}Authorizations
OAuth Bearer access tokens or Flow API keys with the required Flow scope families for the route.
Query Parameters
Optional team scope when the authenticated context is not already team-pinned.
Knowledge source binding. Returns that source's current corpus issue when present.
Maximum resources to return.
^[0-9]+$Opaque cursor for the next page of current corpus issues.