Skip to content

Check a build hosted anywhere

POST
/api/v1/sites/check
curl --request POST \
--url http://localhost:3000/api/v1/sites/check \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/zip' \
--data binary

The body is a zip of a built site (Content-Type: application/zip), from a CI job that deploys it somewhere else: Vercel, Netlify, GitHub Pages. It is checked as a deployment would be, and nothing is stored: every file matched against the project’s library by its bytes, every /a/ and /c/ address in its HTML, CSS and JS read, and the ids artbucket.site.json names. allowed is false when any of it may not be shown, with the reasons in problems.

Scope: read.

Media typeapplication/zip
string format: binary

The verdict

Media typeapplication/json
object
data
required
object
allowed
required
boolean
files
required
integer
>= -9007199254740991 <= 9007199254740991
uses
required

What it uses of the project’s library, found in its files: its lineage

Array<object>
object
asset
required
string format: uuid
/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/
how
required

Copy: a file is the asset’s bytes; link: /a/{id}; current: /c/{id}, the version it served; declared: named by artbucket.site.json

string
Allowed values: copy link current declared
file
required

The build’s file it was found in

string | null
problems
required

Why what it uses may not be shown, each naming the file and, for a replaced asset, its replacement

Array<string>
flags
required

Signs it looks like phishing or malware (a page asking for a password, a card or a recovery phrase; a program to download), one line each

Array<string>
Example
{
"data": {
"uses": [
{
"how": "copy"
}
]
}
}

An error

Media typeapplication/json
object
error
required
object
code
required
string
message
required
string
detail
Examplegenerated
{
"error": {
"code": "example",
"message": "example",
"detail": "example"
}
}