Legal tools
MCP tools for Legal: legal_accept, legal_acceptance_get.
legal_accept: Accept the terms or the DPAlegal_acceptance_get: Get the legal acceptance
legal_accept
Accept the terms or the DPA. Operation legal.accept · Organization level · permission org:write · risk tier write · since M12
Records that the organization accepts a version of Ownrecord's Terms of Service (terms) or Data
Processing Agreement (dpa). Read the document first at /legal/{document}/{version}.
version must be the version in effect or an announced newer one (see acceptableVersions in
legal.acceptance_get). Sign-up records the terms; the DPA must be accepted before a brand goes live; a
material change to either is announced 30 days ahead and accepted again by an owner or admin.
Only a person signed in to the console can accept, with org:write (owners and admins). API keys, agents,
apps and OAuth clients can't, and neither can platform staff under a support-access grant. Accepting the
version already accepted changes nothing.
Annotations: readOnlyHint: false · destructiveHint: false · idempotentHint: true · openWorldHint: false
Arguments
| Argument | Type | Required | Description |
|---|---|---|---|
document | one of terms, dpa | yes | – |
version | string | yes | (1–20 characters) |
idempotency_key | string | no | A unique string for this change. Retrying with the same key and arguments never acts twice. When left out, the server generates one and returns it in the result's idempotency_key. (1–255 characters) |
dry_run | boolean | no | true: check permissions and rules and compute the result, then roll everything back. Nothing is saved. (default false) |
- Idempotency: the result returns the
idempotency_keyused, yours or one the server generated. Retry with it: a call with the same key and arguments never acts twice (keys are kept for 24 hours). - Dry run: supported.
dry_run: truechecks permissions and rules and computes the result, then rolls everything back.
Errors
legal_version_not_acceptable: The version isn't the one in effect or an announced newer one.permission_denied: You aren't an owner or admin signed in to the console, or this is the platform organization.validation_failed: The document isn'ttermsordpa, or the version is missing.version_conflict: The organization changed at the same time; retry.
Example
Accept the DPA before going live
Arguments:
{
"document": "dpa",
"version": "1.0",
"idempotency_key": "8d0c5f8e-4b7a-4e43-9b0f-2f6a0c1d9e21"
}
Result output:
{
"object": "legal_acceptance",
"organizationId": "org_01m4tx5nj7ekd958x53w4bntcg",
"actionRequired": false,
"updateAnnounced": false,
"documents": [
{
"document": "terms",
"title": "Terms of Service",
"status": "accepted",
"acceptedVersion": "1.0",
"acceptedAt": "2026-10-26T09:30:00.000Z",
"current": {
"version": "1.0",
"effectiveDate": "2026-10-26",
"status": "draft",
"url": "/legal/terms",
"versionUrl": "/legal/terms/1.0"
},
"upcoming": null,
"acceptableVersions": ["1.0"]
},
{
"document": "dpa",
"title": "Data Processing Agreement",
"status": "accepted",
"acceptedVersion": "1.0",
"acceptedAt": "2026-10-27T10:00:00.000Z",
"current": {
"version": "1.0",
"effectiveDate": "2026-10-26",
"status": "draft",
"url": "/legal/dpa",
"versionUrl": "/legal/dpa/1.0"
},
"upcoming": null,
"acceptableVersions": ["1.0"]
}
]
}
legal_acceptance_get
Get the legal acceptance. Operation legal.acceptance_get · Organization level · permission org:read · risk tier read · since M12
Returns which versions of Ownrecord's Terms of Service and Data Processing Agreement the organization accepted, the versions in effect now, and any announced change.
Each document's status is accepted; update_announced when a material change is announced and not
accepted yet (it takes effect on upcoming.effectiveDate, at least 30 days after the announcement);
acceptance_required when a material change is in effect and an owner or admin must accept it; or, for the
DPA, not_accepted until it is accepted, which the go-live checklist requires. actionRequired is true when
any document needs acceptance now.
Readable by every member of the organization.
Annotations: readOnlyHint: true · destructiveHint: false · idempotentHint: true · openWorldHint: false
Arguments
This tool takes no arguments.
- Read-only: changes nothing;
idempotency_keyis ignored.
Errors
permission_denied: You can't read this organization.
Example
Terms accepted, DPA not yet
Arguments:
{}
Result output:
{
"object": "legal_acceptance",
"organizationId": "org_01m4tx5nj7ekd958x53w4bntcg",
"actionRequired": false,
"updateAnnounced": false,
"documents": [
{
"document": "terms",
"title": "Terms of Service",
"status": "accepted",
"acceptedVersion": "1.0",
"acceptedAt": "2026-10-26T09:30:00.000Z",
"current": {
"version": "1.0",
"effectiveDate": "2026-10-26",
"status": "draft",
"url": "/legal/terms",
"versionUrl": "/legal/terms/1.0"
},
"upcoming": null,
"acceptableVersions": ["1.0"]
},
{
"document": "dpa",
"title": "Data Processing Agreement",
"status": "not_accepted",
"acceptedVersion": null,
"acceptedAt": null,
"current": {
"version": "1.0",
"effectiveDate": "2026-10-26",
"status": "draft",
"url": "/legal/dpa",
"versionUrl": "/legal/dpa/1.0"
},
"upcoming": null,
"acceptableVersions": ["1.0"]
}
]
}