<!--
Full-page Markdown export (rendered HTML → GFM).
Source: https://neotoma.io/types/contracts
Generated: 2026-05-04T09:51:58.588Z
-->
# Contracts
Agreements, clauses, and amendments - reconstructable on any date. Contracts in Neotoma capture the full lifecycle: initial terms, amendments, renewals, and terminations, each timestamped and attributed.
## Store[#](#store)
Store a contract with any fields that describe it. Neotoma auto-discovers the schema from the first observation - no migration required.
MCP
Equivalent MCP example for this entity type.
store\_structured({ entities: \[ { entity\_type: "contract", title: "Acme Corp - SaaS License Agreement", parties: \["Acme Corp"\], status: "active", date\_effective: "2026-01-15", date\_expiry: "2027-01-15", value: 48000, currency: "USD" } \], idempotency\_key: "contract-acme-saas-2026" })
CLI
Equivalent CLI example for this entity type.
neotoma store --json='\[{ "entity\_type": "contract", "title": "Acme Corp - SaaS License Agreement", "parties": \["Acme Corp"\], "status": "active", "date\_effective": "2026-01-15", "date\_expiry": "2027-01-15", "value": 48000, "currency": "USD" }\]'
REST API
Equivalent REST API example for this entity type.
curl -X POST http://localhost:3080/api/store \\ -H "Content-Type: application/json" \\ -d '{ "entities": \[{ "entity\_type": "contract", "title": "Acme Corp - SaaS License Agreement", "parties": \["Acme Corp"\], "status": "active", "date\_effective": "2026-01-15", "date\_expiry": "2027-01-15", "value": 48000, "currency": "USD" }\] }'
Common fields for `contract`:
| Field | Example |
| --- | --- |
| title | "Acme Corp - SaaS License Agreement" |
| parties | \["Acme Corp"\] |
| status | "active" |
| date\_effective | "2026-01-15" |
| value | 48000 |
Fields are flexible - add any property your workflow needs. The schema evolves automatically via [progressive schema enforcement](/schema-management).
## Retrieve[#](#retrieve)
Query contracts by type, search by keyword, inspect version history, and traverse relationships.
CLI
Equivalent CLI example for this entity type.
\# List all contracts neotoma entities list --type contract # Search by counterparty neotoma entities search --query "Acme Corp" --entity-type contract # View amendment and renewal history neotoma observations list --entity-id <entity\_id> # Find linked clauses or amendments neotoma relationships list --entity-id <entity\_id>
MCP
Equivalent MCP example for this entity type.
// Find by identifier retrieve\_entity\_by\_identifier({ identifier: "Acme Corp - SaaS License Agreement", entity\_type: "contract" }) // List active contracts retrieve\_entities({ entity\_type: "contract", limit: 20 }) // Reconstruct state at a past date retrieve\_entity\_by\_identifier({ identifier: "Acme Corp - SaaS License Agreement", entity\_type: "contract", as\_of: "2026-06-01" })
## What your agent can answer[#](#example-queries)
With contracts stored in Neotoma, your agent can answer questions like:
- “What were the terms of the Acme contract when we signed?”
- “Which contracts renew in the next 90 days?”
- “Show all amendments to the SaaS license agreement”
## What Neotoma guarantees[#](#guarantees)
Every contract stored in Neotoma gets the same set of integrity guarantees:
- Versioned history - Every change creates a new version. Previous states are always accessible.
- Deterministic state - Same observations always produce the same entity snapshot.
- Auditable provenance - Every field traces back to the observation that set it.
- Schema validation - Fields conform to the discovered or defined schema.
See all [memory guarantees](/memory-guarantees) compared across memory models.
## Next steps[#](#next-steps)
- [Install Neotoma](/install) \- get started in 5 minutes
- [Walkthrough](/walkthrough) \- full multi-session example
- [Contracts use case](/contracts) \- see how contracts fit into a broader workflow