Properties
| Name | Type | Description |
|---|---|---|
| data | object |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://artifacts.apis.io/philidor-io/json-schema/philidor-io-graph-check-response-schema.json",
"title": "GraphCheckResponse",
"x-generated": "2026-10-30",
"x-method": "derived",
"x-generator": "derive-json-schema.py",
"x-source": "openapi/philidor-io-openapi.json#/components/schemas/GraphCheckResponse",
"type": "object",
"properties": {
"data": {
"type": "object",
"properties": {
"eal": {
"type": [
"object",
"null"
],
"properties": {
"perVault": {
"type": "object",
"additionalProperties": {
"$ref": "#/$defs/GraphVaultEal"
}
},
"portfolio": {
"type": "object",
"properties": {
"snapshotId": {
"type": "string"
},
"asOf": {
"type": "string"
},
"methodologyVersion": {
"type": "string",
"enum": [
"eal-v1"
]
},
"maturity": {
"type": "string",
"enum": [
"experimental"
]
},
"horizon": {
"type": "string",
"enum": [
"1y"
]
},
"annualizationRule": {
"type": "string",
"enum": [
"4 * published edl_bps_3m"
]
},
"factorAllocationRule": {
"type": "string",
"enum": [
"shares of issuer-model total; not independent factor frequencies"
]
},
"unmappedExposure": {
"type": "string",
"enum": [
"unknown, not zero"
]
},
"basis": {
"type": "string",
"enum": [
"bps of available observed dependency exposure"
]
},
"status": {
"type": "string",
"enum": [
"available",
"unavailable"
]
},
"annualEalBps": {
"type": [
"string",
"null"
]
},
"byFactorType": {
"type": "array",
"items": {
"type": "object",
"properties": {
"factorType": {
"type": "string",
"enum": [
"oracle",
"bridge",
"signer",
"wrapper",
"contract",
"unattributed"
]
},
"annualEalBps": {
"type": [
"string",
"null"
],
"pattern": "^(0|[1-9]\\d{0,31})\\.\\d{4}$"
}
},
"required": [
"factorType",
"annualEalBps"
]
}
},
"coverage": {
"type": "object",
"properties": {
"totalDependencyExposureUsd": {
"type": "string"
},
"availableDependencyExposureUsd": {
"type": "string"
},
"unavailableDependencyExposureUsd": {
"type": "string"
},
"unavailableShare": {
"type": [
"string",
"null"
]
},
"availableVaultCount": {
"type": "integer",
"minimum": 0
},
"unavailableVaults": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"totalDependencyExposureUsd",
"availableDependencyExposureUsd",
"unavailableDependencyExposureUsd",
"unavailableShare",
"availableVaultCount",
"unavailableVaults"
]
},
"provenance": {
"type": [
"object",
"null"
],
"properties": {
"modelVersion": {
"type": "string",
"minLength": 1
},
"modelBundleSha256": {
"type": "string",
"pattern": "^[a-f0-9]{64}$"
},
"modelContextSha256": {
"type": "string",
"pattern": "^[a-f0-9]{64}$"
},
"issuerMapSha256": {
"type": "string",
"pattern": "^[a-f0-9]{64}$"
},
"issuerMapVersion": {
"type": "string",
"minLength": 1
},
"modelAvailableAt": {
"type": "string"
},
"issuerMapAvailableAt": {
"type": "string"
},
"issuerScoresAvailableAt": {
"type": "string"
},
"issuerScoresSha256": {
"type": "string",
"pattern": "^[a-f0-9]{64}$"
},
"factorManifestSha256": {
"type": [
"string",
"null"
],
"pattern": "^[a-f0-9]{64}$"
},
"implementationRevision": {
"type": "string",
"pattern": "^[a-f0-9]{40}$"
}
},
"required": [
"modelVersion",
"modelBundleSha256",
"modelContextSha256",
"issuerMapSha256",
"issuerMapVersion",
"modelAvailableAt",
"issuerMapAvailableAt",
"issuerScoresAvailableAt",
"issuerScoresSha256",
"factorManifestSha256",
"implementationRevision"
]
},
"disclaimer": {
"type": "array",
"prefixItems": [
{
"type": "string",
"enum": [
"Not a guarantee of safety"
]
},
{
"type": "string",
"enum": [
"Not a guarantee of returns"
]
},
{
"type": "string",
"enum": [
"Not investment advice"
]
},
{
"type": "string",
"enum": [
"Not legal or regulatory certification"
]
}
]
}
},
"required": [
"snapshotId",
"asOf",
"methodologyVersion",
"maturity",
"horizon",
"annualizationRule",
"factorAllocationRule",
"unmappedExposure",
"basis",
"status",
"annualEalBps",
"byFactorType",
"coverage",
"provenance",
"disclaimer"
]
}
},
"required": [
"perVault",
"portfolio"
]
},
"snapshotId": {
"type": "string"
},
"builtAt": {
"type": "string"
},
"verdict": {
"type": "string",
"enum": [
"approve",
"caution",
"reject"
],
"description": "Deprecated. Use compliance. Retirement date is unset (GRAPH_CHECK_VERDICT_SUNSET_HTTP_DATE); the response sends Deprecation: true and omits Sunset until that HTTP-date is set.",
"deprecated": true
},
"totalUsd": {
"type": "string"
},
"unresolvedVaults": {
"type": "array",
"items": {
"type": "string"
}
},
"findings": {
"type": "array",
"items": {
"type": "object",
"properties": {
"dimension": {
"type": "string",
"enum": [
"curator",
"protocol",
"chain",
"asset",
"oracle",
"oracleVendor",
"cluster",
"bridge",
"signerSet",
"tier",
"allowlist",
"depositStatus",
"withdrawStatus",
"freshness"
]
},
"entityId": {
"type": "string"
},
"share": {
"type": "string"
},
"limit": {
"type": "string"
},
"severity": {
"type": "string",
"enum": [
"breach",
"near"
]
},
"verified": {
"type": "boolean"
},
"confidence": {
"type": "string"
}
},
"required": [
"dimension",
"entityId",
"share",
"limit",
"severity",
"verified",
"confidence"
]
}
},
"exposures": {
"type": "object",
"additionalProperties": {
"type": "object",
"additionalProperties": {
"type": "string"
}
}
},
"decision": {
"type": "object",
"properties": {
"decisionId": {
"type": "string"
},
"signerAddress": {
"type": "string"
},
"inserted": {
"type": "boolean"
}
},
"required": [
"decisionId",
"signerAddress",
"inserted"
],
"description": "Present when issue=true. attestation_id repeats decisionId. Legacy field retained for existing clients."
},
"compliance": {
"type": "string",
"enum": [
"compliant",
"non_compliant"
],
"description": "Whether the portfolio meets the caller policy. non_compliant when a caller rule is violated or data is missing or not fresh."
},
"violations": {
"type": "array",
"items": {
"type": "object",
"properties": {
"rule": {
"type": "string",
"description": "Caller rule (maxSharePerCurator, minTier, allowlist, blacklist, requireDepositStatus, requireWithdrawStatus) or data_unavailable."
},
"observed": {
"type": "string"
},
"threshold": {
"type": "string"
},
"vaultKey": {
"type": "string"
}
},
"required": [
"rule",
"observed",
"threshold"
]
}
},
"policy_hash": {
"type": "string",
"pattern": "^[0-9a-f]{64}$",
"description": "sha256 of the canonical JSON of limits and constraints. Independent of the caller."
},
"attestation_id": {
"type": [
"string",
"null"
],
"description": "Id of the compliance attestation when issue=true. Null when the check does not issue one."
}
},
"required": [
"snapshotId",
"builtAt",
"verdict",
"totalUsd",
"unresolvedVaults",
"findings",
"exposures",
"compliance",
"violations",
"policy_hash",
"attestation_id"
]
}
},
"required": [
"data"
],
"$defs": {
"GraphVaultEal": {
"type": [
"object",
"null"
],
"properties": {
"vaultKey": {
"type": "string",
"minLength": 1
},
"snapshotId": {
"type": "string",
"pattern": "^[a-f0-9]{64}$"
},
"asOf": {
"type": "string"
},
"methodologyVersion": {
"type": "string",
"enum": [
"eal-v1"
]
},
"maturity": {
"type": "string",
"enum": [
"experimental"
]
},
"horizon": {
"type": "string",
"enum": [
"1y"
]
},
"annualizationRule": {
"type": "string",
"enum": [
"4 * published edl_bps_3m"
]
},
"basis": {
"type": "string",
"enum": [
"bps of all observed dependency exposure"
]
},
"factorAllocationRule": {
"type": "string",
"enum": [
"shares of issuer-model total; not independent factor frequencies"
]
},
"unmappedExposure": {
"type": "string",
"enum": [
"unknown, not zero"
]
},
"status": {
"type": "string",
"enum": [
"available",
"unavailable"
]
},
"reason": {
"type": [
"string",
"null"
],
"enum": [
"missing_edl",
"low_coverage",
"data_gap",
"stale_model",
"inputs_after_as_of",
null
]
},
"edlBps3m": {
"type": [
"string",
"null"
],
"pattern": "^(0|[1-9]\\d{0,31})\\.\\d{4}$"
},
"annualEalBps": {
"type": [
"string",
"null"
],
"pattern": "^(0|[1-9]\\d{0,31})\\.\\d{4}$"
},
"byFactorType": {
"type": "array",
"items": {
"type": "object",
"properties": {
"factorType": {
"type": "string",
"enum": [
"oracle",
"bridge",
"signer",
"wrapper",
"contract",
"unattributed"
]
},
"annualEalBps": {
"type": [
"string",
"null"
],
"pattern": "^(0|[1-9]\\d{0,31})\\.\\d{4}$"
}
},
"required": [
"factorType",
"annualEalBps"
]
}
},
"coverage": {
"type": [
"object",
"null"
],
"properties": {
"mapped_share": {
"type": "string",
"pattern": "^(0\\.\\d{6}|1\\.000000)$"
},
"model_version": {
"type": "string",
"minLength": 1
},
"scored_month": {
"type": "string",
"pattern": "^\\d{4}-(0[1-9]|1[0-2])$"
}
},
"required": [
"mapped_share",
"model_version",
"scored_month"
]
},
"factorPartitionAvailable": {
"type": "boolean"
},
"provenance": {
"type": "object",
"properties": {
"modelVersion": {
"type": "string",
"minLength": 1
},
"modelBundleSha256": {
"type": "string",
"pattern": "^[a-f0-9]{64}$"
},
"modelContextSha256": {
"type": "string",
"pattern": "^[a-f0-9]{64}$"
},
"issuerMapSha256": {
"type": "string",
"pattern": "^[a-f0-9]{64}$"
},
"issuerMapVersion": {
"type": "string",
"minLength": 1
},
"modelAvailableAt": {
"type": "string"
},
"issuerMapAvailableAt": {
"type": "string"
},
"issuerScoresAvailableAt": {
"type": "string"
},
"issuerScoresSha256": {
"type": "string",
"pattern": "^[a-f0-9]{64}$"
},
"factorManifestSha256": {
"type": [
"string",
"null"
],
"pattern": "^[a-f0-9]{64}$"
},
"implementationRevision": {
"type": "string",
"pattern": "^[a-f0-9]{40}$"
}
},
"required": [
"modelVersion",
"modelBundleSha256",
"modelContextSha256",
"issuerMapSha256",
"issuerMapVersion",
"modelAvailableAt",
"issuerMapAvailableAt",
"issuerScoresAvailableAt",
"issuerScoresSha256",
"factorManifestSha256",
"implementationRevision"
]
},
"disclaimer": {
"type": "array",
"prefixItems": [
{
"type": "string",
"enum": [
"Not a guarantee of safety"
]
},
{
"type": "string",
"enum": [
"Not a guarantee of returns"
]
},
{
"type": "string",
"enum": [
"Not investment advice"
]
},
{
"type": "string",
"enum": [
"Not legal or regulatory certification"
]
}
]
}
},
"required": [
"vaultKey",
"snapshotId",
"asOf",
"methodologyVersion",
"maturity",
"horizon",
"annualizationRule",
"basis",
"factorAllocationRule",
"unmappedExposure",
"status",
"reason",
"edlBps3m",
"annualEalBps",
"byFactorType",
"coverage",
"factorPartitionAvailable",
"provenance",
"disclaimer"
]
}
}
}
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/philidor-io-graph-check-response"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
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.