Agent Legal Context
The Standard

Schema

Complete field definitions for legal-context.json — required and optional fields.

The legal-context.json discovery document has two required fields and a set of optional fields that correspond to increasing levels of trust.


Required Fields

FieldTypeRequiredDescription
versionstringREQUIREDProtocol version. MUST be "2.0" for this specification.
termsstringREQUIREDAbsolute HTTPS URL of the legal terms document. MUST return a standalone, downloadable file. For services with only confidential/private terms, this URL MAY return a document stating that terms are provided at transaction time (see Private Terms).

Optional Fields

FieldTypeRequiredDescription
contentHashstringOPTIONALSHA-256 hash of the terms document, 0x-prefixed hex (66 characters). See Level 2: Provable.
hashAlgorithmstringOPTIONALHash algorithm used. Defaults to "sha256" if contentHash is present.
acceptanceRequiredbooleanOPTIONALIf true, counterparties MUST explicitly accept terms before transacting. See Level 3: Signed. Default: false.
disputeResolutionobjectOPTIONALDispute resolution process. See Level 4: Integrated.
disputeResolution.methodstringOPTIONALThe dispute resolution method (e.g., "AAA Commercial Arbitration Rules").
disputeResolution.jurisdictionstringOPTIONALGoverning jurisdiction.
disputeResolution.contactstringOPTIONALContact for dispute filing.
returnsstringOPTIONALURL of a returns or claims API/process.
contactobjectOPTIONALContact information for the service.
contact.legalstringOPTIONALLegal department contact.
contact.technicalstringOPTIONALTechnical support contact.
apistringOPTIONALURL of a legal context API providing richer functionality (record management, verification, dispute filing). See Level 4: Integrated.

Full Example

{
  "version": "2.0",
  "terms": "https://example.com/terms/v3.pdf",
  "contentHash": "0x7f83b1657ff1fc53b92dc18148a1d65dfc2d4b1fa3d677284addd200126d9069",
  "hashAlgorithm": "sha256",
  "acceptanceRequired": true,
  "disputeResolution": {
    "method": "AAA Commercial Arbitration Rules",
    "jurisdiction": "New York, USA",
    "contact": "[email protected]"
  },
  "returns": "https://example.com/api/returns",
  "contact": {
    "legal": "[email protected]",
    "technical": "[email protected]"
  },
  "api": "https://api.integraledger.net/v1/records/0xabcdef1234567890"
}

Extensibility

The field set is extensible. Implementations SHOULD ignore fields they do not recognize. Vendors MAY add custom fields as needed for their use case. The standard does not define a namespace for custom fields — any key not defined above is considered an extension.