Properties
| Name | Type | Description |
|---|---|---|
| changes | array | |
| page | object | |
| retention | object | |
| metadata | object |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://artifacts.apis.io/git-top/json-schema/git-top-project-changes-response-schema.json",
"title": "ProjectChangesResponse",
"x-generated": "2026-11-10",
"x-method": "derived",
"x-generator": "derive-json-schema.py",
"x-source": "openapi/git-top-changes-api-openapi.yml#/components/schemas/ProjectChangesResponse",
"type": "object",
"required": [
"changes",
"page",
"retention",
"metadata"
],
"properties": {
"changes": {
"type": "array",
"items": {
"type": "object",
"required": [
"cursor",
"project_id",
"change_type",
"changed_fields",
"occurred_at",
"tombstone"
],
"properties": {
"cursor": {
"type": "string",
"description": "Opaque cursor for this event."
},
"project_id": {
"type": "string"
},
"change_type": {
"type": "string",
"enum": [
"added",
"updated",
"classification_changed",
"score_changed",
"deleted"
]
},
"changed_fields": {
"type": "array",
"items": {
"type": "string"
}
},
"before": {
"type": [
"object",
"null"
],
"additionalProperties": true
},
"after": {
"type": [
"object",
"null"
],
"additionalProperties": true
},
"occurred_at": {
"type": "string",
"format": "date-time"
},
"tombstone": {
"type": "boolean"
}
}
}
},
"page": {
"type": "object",
"properties": {
"limit": {
"type": "integer"
},
"has_more": {
"type": "boolean"
},
"next_cursor": {
"type": "string",
"description": "Opaque polling cursor returned even when has_more is false."
}
}
},
"retention": {
"type": "object",
"properties": {
"days": {
"type": "integer",
"enum": [
30
]
},
"earliest_guaranteed_at": {
"type": "string",
"format": "date-time"
}
}
},
"metadata": {
"$ref": "#/$defs/Metadata"
}
},
"$defs": {
"Metadata": {
"type": "object",
"description": "Common provenance envelope for agent-facing responses. Agents should require source=d1 for high-confidence production claims and disclose seed fallback.",
"properties": {
"source": {
"type": "string",
"enum": [
"d1",
"seed"
]
},
"reason": {
"type": "string"
},
"project_count": {
"type": "integer"
},
"generated_at": {
"type": "string",
"format": "date-time"
},
"snapshot_id": {
"type": "string",
"description": "Stable identity for the corpus snapshot used by this response."
},
"latest_synced_at": {
"type": [
"string",
"null"
],
"format": "date-time"
},
"schema_version": {
"type": "string",
"enum": [
"git-top.knowledge.v1"
]
},
"loaded_project_limit": {
"type": "integer",
"description": "Maximum D1 knowledge or search-candidate rows loaded into the bounded ranking set when present."
},
"truncated": {
"type": "boolean",
"description": "Whether the D1-backed ranking or candidate set reached its limit and may omit additional matching rows."
},
"candidate_retrieval": {
"type": "string",
"enum": [
"d1_first"
],
"description": "Search-only marker indicating that deterministic filters and broad query matching ran in D1 before TypeScript ranking."
},
"candidate_count": {
"type": "integer",
"description": "Number of D1 search candidates passed to the authoritative TypeScript filter and ranking stage."
},
"candidate_limit": {
"type": "integer",
"description": "Maximum number of D1 search candidates passed to the ranking stage."
},
"warnings": {
"type": "array",
"items": {
"type": "string"
},
"description": "Fallback, count, freshness, or trust caveats that agents should account for before citing results."
}
}
}
}
}
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/git-top-project-changes-response"
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.