Read the latest website links run
curl --request GET \
--url https://api.zeroclick.io/v1/sellers/{sellerId}/links/runs/latest \
--header 'Authorization: Bearer <token>'const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.zeroclick.io/v1/sellers/{sellerId}/links/runs/latest', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.zeroclick.io/v1/sellers/{sellerId}/links/runs/latest"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text){
"run": {
"id": "<string>",
"status": "queued",
"createdAt": "<string>",
"startedAt": "<string>",
"finishedAt": "<string>",
"coreVersion": "<string>",
"judgeModel": "<string>",
"writerModel": "<string>",
"seeds": [
"<string>"
],
"stats": {
"discovered": 0,
"selected": 0,
"read": 0,
"proposed": 0,
"alreadyLinked": 0,
"noDestination": 0,
"noPlacement": 0,
"duplicates": 0,
"skipped": 0,
"failed": 0,
"carried": 0,
"applied": 0,
"kinds": {
"article": {
"found": 0,
"read": 0
},
"docs": {
"found": 0,
"read": 0
},
"marketing": {
"found": 0,
"read": 0
},
"never": {
"found": 0,
"read": 0
}
},
"sources": {
"declared": 0,
"sitemaps": 0,
"probes": 0,
"crawl": 0
},
"judgeCalls": 0,
"writerCalls": 0,
"inputTokens": 0,
"outputTokens": 0,
"edits": {
"linkPhrase": 0,
"addSentence": 0,
"fixed": 0
},
"firstResultMs": 0,
"ms": 0,
"timedOut": true,
"linkStorefront": 0
},
"error": "<string>"
},
"job": {
"state": "waiting",
"progress": {
"phase": "<string>",
"pct": 123,
"processed": 123,
"total": 123,
"current": "<string>"
},
"failedReason": "<string>",
"cancelled": true
},
"pages": [
{
"id": "<string>",
"url": "<string>",
"status": "proposed",
"reason": "<string>",
"title": "<string>",
"kind": "article",
"hash": "<string>",
"capturedAt": "<string>",
"selectionScore": 123,
"fetchMs": 123
}
],
"suggestions": [
{
"id": "<string>",
"runId": "<string>",
"page": {
"id": "<string>",
"url": "<string>",
"title": "<string>",
"hash": "<string>",
"capturedAt": "<string>"
},
"blockIndex": 0,
"start": 0,
"end": 0,
"blockHash": "<string>",
"section": [
"<string>"
],
"surrounding": {
"before": "<string>",
"after": "<string>"
},
"kind": "link-phrase",
"anchor": "<string>",
"insert": "<string>",
"before": "<string>",
"after": "<string>",
"sentence": {
"before": "<string>",
"after": "<string>"
},
"destination": {
"kind": "<string>",
"url": "<string>",
"name": "<string>"
},
"reason": "<string>",
"scores": {},
"status": "open",
"statusChangedAt": "<string>",
"carriedFrom": "<string>",
"createdAt": "<string>"
}
]
}{
"error": "organization_required",
"note": "<string>"
}{
"error": "organization_required",
"note": "<string>"
}{
"error": "organization_required",
"note": "<string>"
}{
"error": "organization_required",
"note": "<string>"
}Sellers
Read the latest website links run
The seller’s latest link suggestions run with the queue’s live view of it (state and progress while it runs), the page outcomes written so far and its suggestions, each an exact edit to one of the seller’s pages. Poll it while a run is in flight; suggestions appear as pages settle. run is null before the first run.
GET
/
v1
/
sellers
/
{sellerId}
/
links
/
runs
/
latest
Read the latest website links run
curl --request GET \
--url https://api.zeroclick.io/v1/sellers/{sellerId}/links/runs/latest \
--header 'Authorization: Bearer <token>'const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.zeroclick.io/v1/sellers/{sellerId}/links/runs/latest', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.zeroclick.io/v1/sellers/{sellerId}/links/runs/latest"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text){
"run": {
"id": "<string>",
"status": "queued",
"createdAt": "<string>",
"startedAt": "<string>",
"finishedAt": "<string>",
"coreVersion": "<string>",
"judgeModel": "<string>",
"writerModel": "<string>",
"seeds": [
"<string>"
],
"stats": {
"discovered": 0,
"selected": 0,
"read": 0,
"proposed": 0,
"alreadyLinked": 0,
"noDestination": 0,
"noPlacement": 0,
"duplicates": 0,
"skipped": 0,
"failed": 0,
"carried": 0,
"applied": 0,
"kinds": {
"article": {
"found": 0,
"read": 0
},
"docs": {
"found": 0,
"read": 0
},
"marketing": {
"found": 0,
"read": 0
},
"never": {
"found": 0,
"read": 0
}
},
"sources": {
"declared": 0,
"sitemaps": 0,
"probes": 0,
"crawl": 0
},
"judgeCalls": 0,
"writerCalls": 0,
"inputTokens": 0,
"outputTokens": 0,
"edits": {
"linkPhrase": 0,
"addSentence": 0,
"fixed": 0
},
"firstResultMs": 0,
"ms": 0,
"timedOut": true,
"linkStorefront": 0
},
"error": "<string>"
},
"job": {
"state": "waiting",
"progress": {
"phase": "<string>",
"pct": 123,
"processed": 123,
"total": 123,
"current": "<string>"
},
"failedReason": "<string>",
"cancelled": true
},
"pages": [
{
"id": "<string>",
"url": "<string>",
"status": "proposed",
"reason": "<string>",
"title": "<string>",
"kind": "article",
"hash": "<string>",
"capturedAt": "<string>",
"selectionScore": 123,
"fetchMs": 123
}
],
"suggestions": [
{
"id": "<string>",
"runId": "<string>",
"page": {
"id": "<string>",
"url": "<string>",
"title": "<string>",
"hash": "<string>",
"capturedAt": "<string>"
},
"blockIndex": 0,
"start": 0,
"end": 0,
"blockHash": "<string>",
"section": [
"<string>"
],
"surrounding": {
"before": "<string>",
"after": "<string>"
},
"kind": "link-phrase",
"anchor": "<string>",
"insert": "<string>",
"before": "<string>",
"after": "<string>",
"sentence": {
"before": "<string>",
"after": "<string>"
},
"destination": {
"kind": "<string>",
"url": "<string>",
"name": "<string>"
},
"reason": "<string>",
"scores": {},
"status": "open",
"statusChangedAt": "<string>",
"carriedFrom": "<string>",
"createdAt": "<string>"
}
]
}{
"error": "organization_required",
"note": "<string>"
}{
"error": "organization_required",
"note": "<string>"
}{
"error": "organization_required",
"note": "<string>"
}{
"error": "organization_required",
"note": "<string>"
}Authorizations
API key created in the ZeroClick dashboard under Settings → API keys. Keys start with zc_. Send them as Authorization: Bearer zc_....
Path Parameters
Minimum string length:
1