Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Native library reference. Extended CLI examples use jacs-compat. This source reference can include unreleased changes; see the package guide for installation and MCP profiles for available tools.

JSON Schemas

JACS schemas now describe a small portable signing surface instead of many narrow workflow document types. The core model is a generic signed JSON document: canonical JSON bytes, a common header, cryptographic signatures, signer identity, hashes, optional files, and optional agreement semantics.

Application-specific payloads belong in the document body or in a custom schema layered on top of the header schema.

Preserved Schemas

Document and Agent Schemas

SchemaPurpose
header/v1/header.schema.jsonGeneric signature wrapper for signed JSON documents
agent/v1/agent.schema.jsonAgent identity and public signing metadata
agreement/v2/agreement.schema.jsonStandalone compatibility agreement document for signature inspection
a2a-verification-result.schema.jsonCross-language A2A artifact verification result

Component Schemas

SchemaPurpose
components/signature/v1/signature.schema.jsonCryptographic signatures
components/agreement/v1/agreement.schema.jsonLegacy sidecar agreement metadata and co-signatures
components/files/v1/files.schema.jsonFile attachments and content hashes

Configuration Schema

SchemaPurpose
jacs.config.schema.jsonAgent configuration file format

Schema Locations

Schemas are available as HTTPS URLs and local files:

https://hai.ai/schemas/header/v1/header.schema.json
https://hai.ai/schemas/agent/v1/agent.schema.json
https://hai.ai/schemas/agreement/v2/agreement.schema.json
https://hai.ai/schemas/components/signature/v1/signature.schema.json
https://hai.ai/schemas/components/agreement/v1/agreement.schema.json
https://hai.ai/schemas/components/files/v1/files.schema.json
https://hai.ai/schemas/jacs.config.schema.json

Generic Signed Documents

Every signed document includes a $schema field. Generic payloads use the header schema directly:

{
  "$schema": "https://hai.ai/schemas/header/v1/header.schema.json",
  "jacsId": "550e8400-e29b-41d4-a716-446655440000",
  "jacsVersion": "f47ac10b-58cc-4372-a567-0e02b2c3d479",
  "jacsType": "document",
  "jacsLevel": "artifact",
  "content": {
    "invoice_id": "INV-001",
    "amount": 100.0
  }
}

Custom schemas may extend the header when an integration needs stronger payload validation:

{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "$id": "https://example.com/schemas/invoice.schema.json",
  "allOf": [
    { "$ref": "https://hai.ai/schemas/header/v1/header.schema.json" },
    {
      "type": "object",
      "properties": {
        "content": {
          "type": "object",
          "required": ["invoice_id", "amount"]
        }
      }
    }
  ]
}

Agreements

Native Agreement v2 represents standalone terms, parties and signature records, but its verifier reports mathematical checks only: valid=false, policyAccepted=false, overallScope=consent_signatures_only. Legacy jacsAgreement v1 countersignatures likewise do not authenticate participant, role, quorum, question or context policy.

For authenticated portable consent policy, use Agreement v3. Application authorization remains separate. The native agreement reference documents compatibility inspection.

HAI Extensions

The schema's custom hai property categorizes fields as meta, base or agent. These annotations participate in native schema-driven hashing; they do not supply an authorization policy.