curl --request PUT \
--url https://api.cludo.com/api/v4/{customerId}/index/{crawlerId}/documents \
--header 'Authorization: Basic <encoded-value>' \
--header 'Content-Type: application/json' \
--data '
[
{
"id": "<string>",
"fields": {},
"type": "PageContent"
}
]
'import requests
url = "https://api.cludo.com/api/v4/{customerId}/index/{crawlerId}/documents"
payload = [
{
"id": "<string>",
"fields": {},
"type": "PageContent"
}
]
headers = {
"Authorization": "Basic <encoded-value>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {Authorization: 'Basic <encoded-value>', 'Content-Type': 'application/json'},
body: JSON.stringify([{id: '<string>', fields: {}, type: 'PageContent'}])
};
fetch('https://api.cludo.com/api/v4/{customerId}/index/{crawlerId}/documents', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));const options = {
method: 'PUT',
headers: {Authorization: 'Basic <encoded-value>', 'Content-Type': 'application/json'},
body: JSON.stringify([{id: '<string>', fields: {}, type: 'PageContent'}])
};
fetch('https://api.cludo.com/api/v4/{customerId}/index/{crawlerId}/documents', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));[
{
"document": {
"id": "<string>",
"type": 123,
"fields": {}
},
"reason": "<string>",
"success": true
}
]{
"message": "The request could not be processed. Check the request body and required parameters."
}{
"message": "unauthorized"
}{
"status": "InternalServerError",
"code": 500,
"messages": [
"Error occur. Please contact support with error ID: a1b2c3d4-e5f6-7890-abcd-ef1234567890"
]
}Create or Replace
Create new documents or fully replace existing ones in the index. Send a JSON array of document objects; each document must include an id and a fields object. Common field names include Title, Url, Description, Date, Category, and Language.
curl --request PUT \
--url https://api.cludo.com/api/v4/{customerId}/index/{crawlerId}/documents \
--header 'Authorization: Basic <encoded-value>' \
--header 'Content-Type: application/json' \
--data '
[
{
"id": "<string>",
"fields": {},
"type": "PageContent"
}
]
'import requests
url = "https://api.cludo.com/api/v4/{customerId}/index/{crawlerId}/documents"
payload = [
{
"id": "<string>",
"fields": {},
"type": "PageContent"
}
]
headers = {
"Authorization": "Basic <encoded-value>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {Authorization: 'Basic <encoded-value>', 'Content-Type': 'application/json'},
body: JSON.stringify([{id: '<string>', fields: {}, type: 'PageContent'}])
};
fetch('https://api.cludo.com/api/v4/{customerId}/index/{crawlerId}/documents', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));const options = {
method: 'PUT',
headers: {Authorization: 'Basic <encoded-value>', 'Content-Type': 'application/json'},
body: JSON.stringify([{id: '<string>', fields: {}, type: 'PageContent'}])
};
fetch('https://api.cludo.com/api/v4/{customerId}/index/{crawlerId}/documents', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));[
{
"document": {
"id": "<string>",
"type": 123,
"fields": {}
},
"reason": "<string>",
"success": true
}
]{
"message": "The request could not be processed. Check the request body and required parameters."
}{
"message": "unauthorized"
}{
"status": "InternalServerError",
"code": 500,
"messages": [
"Error occur. Please contact support with error ID: a1b2c3d4-e5f6-7890-abcd-ef1234567890"
]
}Authorizations
Basic authentication. Use your Customer ID as the username and API Key as the password. Example header: Authorization: Basic MTIzNDU2NzpteS1hcGkta2V5.
Path Parameters
Your Cludo Customer ID (same as in MyCludo and Basic auth username).
Crawler (content source) ID from MyCludo.
Body
Stable unique key for upserts and deletes—most integrations use the canonical page URL.
Keyed by engine field names (case-sensitive). Typical keys: Title, Url, Description, Category, Date, Language, Content. Only string values in this API shape.
Show child attributes
Show child attributes
Optional document kind. Sibling of id and fields (not inside fields). Defaults to "PageContent"; use "FileContent" for files such as PDFs or DOCX so they are treated as file results in the index.
PageContent, FileContent Was this page helpful?

