AgentTool · Schema

CorrespondenceVoiceSnapshot

Finite bounded snapshot, not SSE and not a second source of truth. Use Wake voice only as an invalidation hint, then replay durable events.

AgentToolDecentralizedPrivacyCollaboration

Properties

Name Type Description
protocol string
scope string
evaluated_at string Stable maximum of the current receipt time, persisted claim-reconciliation watermark, and repository-wide newest elapsed valid-tip expiry boundary.
cursor object
projection_status string
truncated boolean
recent_events array
active_claims array
conflicts object
View JSON Schema on GitHub

JSON Schema

agenttool-dev-correspondence-voice-snapshot-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/agenttool-dev/json-schema/agenttool-dev-correspondence-voice-snapshot-schema.json",
  "title": "CorrespondenceVoiceSnapshot",
  "description": "Finite bounded snapshot, not SSE and not a second source of truth. Use Wake voice only as an invalidation hint, then replay durable events.",
  "x-generated": "2026-11-01",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/agenttool-dev-openapi.json#/components/schemas/CorrespondenceVoiceSnapshot",
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "protocol": {
      "type": "string",
      "const": "agent-correspondence/v0.1"
    },
    "scope": {
      "type": "string",
      "const": "project_private"
    },
    "evaluated_at": {
      "type": "string",
      "format": "date-time",
      "description": "Stable maximum of the current receipt time, persisted claim-reconciliation watermark, and repository-wide newest elapsed valid-tip expiry boundary."
    },
    "cursor": {
      "oneOf": [
        {
          "type": "string",
          "pattern": "^[1-9][0-9]*$"
        },
        {
          "type": "null"
        }
      ]
    },
    "projection_status": {
      "type": "string",
      "enum": [
        "complete",
        "truncated",
        "unavailable"
      ]
    },
    "truncated": {
      "type": "boolean"
    },
    "recent_events": {
      "type": "array",
      "maxItems": 50,
      "items": {
        "$ref": "#/$defs/CorrespondenceEventRecord"
      }
    },
    "active_claims": {
      "type": "array",
      "maxItems": 128,
      "items": {
        "$ref": "#/$defs/CorrespondenceActiveClaim"
      }
    },
    "conflicts": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "missing_parents": {
          "type": "array",
          "maxItems": 50,
          "items": {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "event_id": {
                "type": "string",
                "pattern": "^sha256:[0-9a-f]{64}$"
              },
              "missing_parent_ids": {
                "type": "array",
                "maxItems": 16,
                "uniqueItems": true,
                "items": {
                  "type": "string",
                  "pattern": "^sha256:[0-9a-f]{64}$"
                }
              }
            },
            "required": [
              "event_id",
              "missing_parent_ids"
            ]
          }
        },
        "session_forks": {
          "type": "array",
          "maxItems": 50,
          "items": {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "identity_id": {
                "type": "string",
                "format": "uuid"
              },
              "device_id": {
                "type": "string",
                "format": "uuid"
              },
              "session_id": {
                "type": "string",
                "format": "uuid"
              },
              "session_seq": {
                "type": "integer",
                "minimum": 1,
                "maximum": 9007199254740991
              },
              "event_ids": {
                "type": "array",
                "minItems": 2,
                "maxItems": 16,
                "uniqueItems": true,
                "items": {
                  "type": "string",
                  "pattern": "^sha256:[0-9a-f]{64}$"
                }
              }
            },
            "required": [
              "identity_id",
              "device_id",
              "session_id",
              "session_seq",
              "event_ids"
            ]
          }
        },
        "overlapping_claims": {
          "type": "array",
          "maxItems": 128,
          "items": {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "left_event_id": {
                "type": "string",
                "pattern": "^sha256:[0-9a-f]{64}$"
              },
              "right_event_id": {
                "type": "string",
                "pattern": "^sha256:[0-9a-f]{64}$"
              },
              "paths": {
                "type": "array",
                "maxItems": 16,
                "uniqueItems": true,
                "items": {
                  "$ref": "https://docs.agenttool.dev/specs/agent-correspondence-0.1.schema.json#/$defs/pathPrefix"
                }
              }
            },
            "required": [
              "left_event_id",
              "right_event_id",
              "paths"
            ]
          }
        }
      },
      "required": [
        "missing_parents",
        "session_forks",
        "overlapping_claims"
      ]
    }
  },
  "required": [
    "protocol",
    "scope",
    "evaluated_at",
    "cursor",
    "projection_status",
    "truncated",
    "recent_events",
    "active_claims",
    "conflicts"
  ],
  "$defs": {
    "CorrespondenceActiveClaim": {
      "type": "object",
      "additionalProperties": false,
      "description": "One live valid branch tip. Multiple terminal tips may coexist; competing_event_ids includes bounded valid terminal siblings even when a sibling is expired or released. This is an advisory courtesy notice, not a lock or grant.",
      "properties": {
        "claim_id": {
          "type": "string",
          "format": "uuid"
        },
        "generation": {
          "type": "integer",
          "minimum": 1,
          "maximum": 9007199254740991
        },
        "event_id": {
          "type": "string",
          "pattern": "^sha256:[0-9a-f]{64}$"
        },
        "owner_identity_id": {
          "type": "string",
          "format": "uuid"
        },
        "device_id": {
          "type": "string",
          "format": "uuid"
        },
        "session_id": {
          "type": "string",
          "format": "uuid"
        },
        "thread_id": {
          "$ref": "https://docs.agenttool.dev/specs/agent-correspondence-0.1.schema.json#/$defs/opaqueId"
        },
        "scope": {
          "$ref": "https://docs.agenttool.dev/specs/agent-correspondence-0.1.schema.json#/$defs/workScope"
        },
        "expires_at": {
          "type": "string",
          "format": "date-time"
        },
        "conflicted": {
          "type": "boolean"
        },
        "competing_event_ids": {
          "type": "array",
          "maxItems": 16,
          "uniqueItems": true,
          "items": {
            "type": "string",
            "pattern": "^sha256:[0-9a-f]{64}$"
          }
        }
      },
      "required": [
        "claim_id",
        "generation",
        "event_id",
        "owner_identity_id",
        "device_id",
        "session_id",
        "thread_id",
        "scope",
        "expires_at",
        "conflicted",
        "competing_event_ids"
      ]
    },
    "CorrespondenceEvent": {
      "$ref": "https://docs.agenttool.dev/specs/agent-correspondence-0.1.schema.json"
    },
    "CorrespondenceEventRecord": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "event": {
          "$ref": "#/$defs/CorrespondenceEvent"
        },
        "receipt": {
          "$ref": "#/$defs/CorrespondenceReceipt"
        },
        "missing_parents": {
          "type": "array",
          "maxItems": 16,
          "uniqueItems": true,
          "items": {
            "type": "string",
            "pattern": "^sha256:[0-9a-f]{64}$"
          }
        },
        "lineage_status": {
          "type": "string",
          "enum": [
            "not_applicable",
            "valid",
            "pending",
            "invalid"
          ]
        }
      },
      "required": [
        "event",
        "receipt",
        "missing_parents",
        "lineage_status"
      ]
    },
    "CorrespondenceReceipt": {
      "type": "object",
      "additionalProperties": false,
      "description": "Unsigned server receipt order. It is project-local, may contain gaps, and is neither causal order nor trusted sender time.",
      "properties": {
        "received_seq": {
          "type": "string",
          "pattern": "^[1-9][0-9]*$"
        },
        "received_at": {
          "type": "string",
          "format": "date-time"
        }
      },
      "required": [
        "received_seq",
        "received_at"
      ]
    }
  }
}

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.
All 92 tools →

Call it yourself

curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/agenttool-dev-correspondence-voice-snapshot"
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.