DiffiCat · Schema
SnapshotDetail
CompanyWebsite MigrationVisual RegressionTestingQASEOMCPAI Agentsx402
Properties
| Name | Type | Description |
|---|---|---|
| snapshot | object | |
| pages | array | Empty until the snapshot is ready. |
| compares | array | The caller’s own compares that use the snapshot. |
| sharedCompareCount | integer | Owner only: compares others saved against it. |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://artifacts.apis.io/difficat-com/json-schema/difficat-com-snapshot-detail-schema.json",
"title": "SnapshotDetail",
"x-generated": "2026-11-05",
"x-method": "derived",
"x-generator": "derive-json-schema.py",
"x-source": "openapi/difficat-com-openapi.yml#/components/schemas/SnapshotDetail",
"type": "object",
"required": [
"snapshot",
"pages",
"compares"
],
"properties": {
"snapshot": {
"$ref": "#/$defs/Snapshot"
},
"pages": {
"type": "array",
"description": "Empty until the snapshot is ready.",
"items": {
"type": "object",
"required": [
"n",
"path"
],
"properties": {
"n": {
"type": "integer"
},
"path": {
"type": "string"
},
"label": {
"type": "string",
"description": "The snapshot’s name: its URL and time taken in UTC (marked \"UTC\"), or what the owner set."
},
"labelEdited": {
"type": "boolean",
"description": "Whether the owner set the label."
},
"takenAt": {
"type": "integer",
"description": "When the snapshot was taken, epoch ms."
},
"status": {
"type": "integer",
"description": "The HTTP status the page answered with; 0 when unreachable."
},
"screenshot": {
"type": "boolean",
"description": "Whether a screenshot was stored."
}
}
}
},
"compares": {
"type": "array",
"description": "The caller’s own compares that use the snapshot.",
"items": {
"type": "object",
"required": [
"id",
"snapshotAId",
"snapshotBId",
"status",
"via",
"createdAt",
"saved"
],
"properties": {
"id": {
"type": "string"
},
"snapshotAId": {
"type": "string"
},
"snapshotBId": {
"type": "string"
},
"snapshotIds": {
"type": "array",
"items": {
"type": "string"
},
"description": "Every set the compare’s pairs use; absent on a compare saved before pairs."
},
"status": {
"type": "string",
"enum": [
"running",
"ready"
]
},
"via": {
"type": "string",
"enum": [
"snapshots",
"run"
]
},
"createdAt": {
"type": "integer",
"description": "Epoch ms."
},
"saved": {
"type": "boolean",
"description": "Kept until deleted (created by a Pro account); otherwise removed 30 days after creation."
},
"summary": {
"type": "object",
"required": [
"totalPages",
"passed",
"failed"
],
"properties": {
"totalPages": {
"type": "integer"
},
"passed": {
"type": "integer"
},
"failed": {
"type": "integer"
}
}
},
"threshold": {
"type": "number"
}
}
}
},
"sharedCompareCount": {
"type": "integer",
"description": "Owner only: compares others saved against it."
}
},
"$defs": {
"Snapshot": {
"type": "object",
"required": [
"id",
"label",
"origin",
"viewportWidth",
"checkMode",
"pageCount",
"status",
"createdAt",
"updatedAt",
"access"
],
"properties": {
"id": {
"type": "string"
},
"label": {
"type": "string"
},
"origin": {
"type": "string",
"format": "uri",
"description": "The captured site’s origin; it is never fetched by a compare."
},
"viewportWidth": {
"type": "integer"
},
"threshold": {
"type": "number",
"minimum": 0,
"maximum": 1,
"description": "The visual tolerance the snapshot was taken with, as a fraction. Absent on a snapshot taken before it was stored. A run against the snapshot uses it unless the request names a threshold."
},
"checkMode": {
"type": "string",
"enum": [
"full",
"text-only",
"existence-only"
]
},
"pageCount": {
"type": "integer"
},
"errorPages": {
"type": "integer",
"description": "Pages that answered with an error status or were unreachable."
},
"status": {
"type": "string",
"enum": [
"capturing",
"ready"
]
},
"via": {
"type": "string",
"enum": [
"capture",
"run"
]
},
"createdAt": {
"type": "integer",
"description": "Epoch ms."
},
"updatedAt": {
"type": "integer",
"description": "Epoch ms."
},
"completedAt": {
"type": "integer",
"description": "Epoch ms."
},
"access": {
"type": "string",
"enum": [
"owner",
"reader"
],
"description": "The caller’s role on the snapshot."
}
}
}
}
}
Work with this as data
Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for schemas
4 MCP tools reach this
find_json_schemasBrowse and filter every JSON Schema in the catalog.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/difficat-com-snapshot-detail"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.