Skip to main content

Sites

Sites

@toothfairyai/sdk@latest…

Site Management Module Handles site CRUD operations for website crawling.

Accessed via client.sites.

Methods

MethodHTTPEndpoint
deleteDELETEDELETE /site/delete/{id}
getGETGET /site/get/{id}
listGETGET /site/list
updatePOSTPOST /site/update

delete

Delete a site

async delete(siteId: string): Promise<

Endpoint: DELETE /site/delete/{id} · API service

Response fields

FieldTypeDescription
successbooleanOperation success status
dataobjectResponse data
messagestringOptional success message

Example

const result = await client.sites.delete('agent-id');

get

Get a site by ID

async get(siteId: string)

Endpoint: GET /site/get/{id} · API service

Response fields

FieldTypeDescription
idstringUnique identifier for the site
namestringName of the resource
descriptionstringSite description
urlstringPublic URL of the website to crawl/index
customSitemapstringCustom sitemap URL for crawling
workspaceIDstringUnique workspace identifier (UUID v4)
topicsobjectAssociated topics
statusstringCurrent status of the resource

Allowed: noDomain, noAnswer, active, syncing, inactive, invalidToken, failed, pending, inProgress, validationTokenCreationError, readyForValidation, tokenRequested, noSitemap | | lastValidationDate | string | Last validation timestamp | | lastValidationRequested | string | Date validation was last requested | | validationToken | string | Site validation token | | allowedPaths | array<string> | Allowed crawling paths | | siteTree | object | JSON-encoded site tree structure | | lastScraped | string | Date the site was last scraped | | skipOwnerValidation | boolean | Whether domain ownership validation is skipped | | useProxy | boolean | Whether a proxy is used for crawling | | completion_percentage | number | Site processing completion percentage | | extractImages | boolean | Whether images are extracted during crawling | | freeRoaming | boolean | Whether the crawler can roam beyond allowed paths | | scrapingCycle | integer | Scraping cycle in hours: 0 (never), 24 (daily), 72 (3-day), or 168 (weekly) | | imgRetrievalPrompt | string | Prompt used for image retrieval/extraction | | metadata | object | Arbitrary metadata key-value pairs (JSON) | | createdBy | string | ID of the user who created this resource | | updatedBy | string | ID of the user who last updated this resource | | scapablePages | integer | Number of pages that can be scraped | | scrapedPagesCount | integer | Number of pages scraped | | createdAt | string | Timestamp when this resource was created | | updatedAt | string | Timestamp when this resource was last updated |

Example

const result = await client.sites.get('agent-id');

list

List all sites in the workspace

async list(limit?: number, offset?: number)

Endpoint: GET /site/list · API service

Example

const result = await client.sites.list();

update

Update an existing site

async update(
siteId: string,
options: {
name?: string;
url?: string;
status?: string;
allowedPaths?: string[];
} = {}
)

Endpoint: POST /site/update · API service

Request fields

FieldTypeRequiredDescription
idstringyesUnique identifier
workspaceidstringnoUnique workspace identifier (UUID v4)
descriptionstringnoDetailed description of purpose and capabilities
namestringnoName of the resource
freeRoamingbooleannoWhether the crawler can roam beyond allowed paths
useProxybooleannoWhether a proxy is used for crawling
extractImagesbooleannoWhether images are extracted during crawling
imgRetrievalPromptstringnoPrompt used for image retrieval/extraction
scrapingCyclestringnoScraping cycle in hours: 0 (never), 24 (daily), 72 (3-day), or 168 (weekly)

Allowed: 0, 24, 72, 168 | | url | string | no | Public URL of the website to crawl/index | | customSitemap | string | no | Custom sitemap URL for crawling | | topics | string | no | JSON-encoded list of topics associated with the chat | | metadata | string | no | Arbitrary metadata key-value pairs (JSON) | | allowedPaths | string | no | List of URL paths allowed for crawling | | status | string | no | Current status of the resource

Allowed: active, inactive, pending, syncing, readyForValidation, inProgress | | validationToken | string | no | Token used for domain ownership validation | | skipOwnerValidation | boolean | no | Whether domain ownership validation is skipped | | lastValidationDate | string | no | Date of the last domain validation | | lastValidationRequested | string | no | Date validation was last requested | | siteTree | string | no | JSON-encoded site tree structure | | lastScraped | string | no | Date the site was last scraped | | completion_percentage | string | no | Percentage of site indexing completion | | scapablePages | integer | no | Number of pages that can be scraped | | scrapedPagesCount | integer | no | Number of pages scraped | | createdBy | string | no | ID of the user who created this resource | | updatedBy | string | no | ID of the user who last updated this resource |

Response

Returns the Site object — fields documented in the get section above.

Example

const result = await client.sites.update('agent-id');