# Partner terms tools

> MCP tools for Partner terms: partner_terms_accept, partner_terms_get.

- `partner_terms_accept`: Accept the partner terms
- `partner_terms_get`: Get the partner terms acceptance

## `partner_terms_accept`

**Accept the partner terms.** Operation [`partner_terms.accept`](https://ownrecord.io/docs/reference/partner-terms-accept.md) · Organization level · permission `org:write` · risk tier `write` · since M13

Records that the organization accepts a version of Ownrecord's Partner and App Terms (`/legal/partners`), which
apply to apps the organization lists for every organization. Read the version first at
`/legal/partners/{version}`. `version` must be the version in effect or an announced newer one (see
`acceptableVersions` in `partner_terms.get`). A material change of the terms asks for acceptance again before the
next listing application.

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                                                                                                                                                                                              |
| ----------------- | ------- | -------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `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_key` used, 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: true` checks permissions and rules and computes the result, then rolls everything back.

### Errors

- [`legal_version_not_acceptable`](https://ownrecord.io/docs/reference/errors.md#legal_version_not_acceptable): The version isn't the one in effect or an announced newer one.
- [`permission_denied`](https://ownrecord.io/docs/reference/errors.md#permission_denied): You aren't an owner or admin signed in to the console.
- [`validation_failed`](https://ownrecord.io/docs/reference/errors.md#validation_failed): The version is missing.
- [`version_conflict`](https://ownrecord.io/docs/reference/errors.md#version_conflict): The acceptance changed at the same time; retry.

### Example

**Accept version 1.0**

Arguments:

```json
{
  "version": "1.0",
  "idempotency_key": "8d0c5f8e-4b7a-4e43-9b0f-2f6a0c1d9e21"
}
```

Result `output`:

```json
{
  "object": "partner_terms_acceptance",
  "organizationId": "org_01m4ttwd3veh9apbewxheq5xhb",
  "status": "accepted",
  "actionRequired": false,
  "acceptedVersion": "1.0",
  "acceptedAt": "2026-10-30T08:55:00.000Z",
  "acceptedBy": "usr_01m4ttwd3veh9apbewxheq5xhf",
  "current": {
    "version": "1.0",
    "effectiveDate": "2026-10-26",
    "status": "draft",
    "url": "/legal/partners",
    "versionUrl": "/legal/partners/1.0"
  },
  "upcoming": null,
  "acceptableVersions": ["1.0"]
}
```

## `partner_terms_get`

**Get the partner terms acceptance.** Operation [`partner_terms.get`](https://ownrecord.io/docs/reference/partner-terms-get.md) · Organization level · permission `org:read` · risk tier `read` · since M13

Returns which version of Ownrecord's Partner and App Terms (`/legal/partners`) the organization accepted, the
version in effect, and any announced change. Listing an app (`apps.listing.submit`) needs the terms accepted:
`status` is `accepted`, `update_announced` (a material change takes effect on `upcoming.effectiveDate`; accept it
ahead of time), `acceptance_required` (a new version is in effect: accept it before the next application) or
`not_accepted`. `actionRequired` is true when an application would be refused 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_key` is ignored.

### Errors

- [`permission_denied`](https://ownrecord.io/docs/reference/errors.md#permission_denied): You can't read this organization.

### Examples

**Accepted**

Arguments:

```json
{}
```

Result `output`:

```json
{
  "object": "partner_terms_acceptance",
  "organizationId": "org_01m4ttwd3veh9apbewxheq5xhb",
  "status": "accepted",
  "actionRequired": false,
  "acceptedVersion": "1.0",
  "acceptedAt": "2026-10-30T08:55:00.000Z",
  "acceptedBy": "usr_01m4ttwd3veh9apbewxheq5xhf",
  "current": {
    "version": "1.0",
    "effectiveDate": "2026-10-26",
    "status": "draft",
    "url": "/legal/partners",
    "versionUrl": "/legal/partners/1.0"
  },
  "upcoming": null,
  "acceptableVersions": ["1.0"]
}
```

**Not accepted yet**

Arguments:

```json
{}
```

Result `output`:

```json
{
  "object": "partner_terms_acceptance",
  "organizationId": "org_01m4ttwd3veh9apbewxheq5xhb",
  "status": "not_accepted",
  "actionRequired": true,
  "acceptedVersion": null,
  "acceptedAt": null,
  "acceptedBy": null,
  "current": {
    "version": "1.0",
    "effectiveDate": "2026-10-26",
    "status": "draft",
    "url": "/legal/partners",
    "versionUrl": "/legal/partners/1.0"
  },
  "upcoming": null,
  "acceptableVersions": ["1.0"]
}
```
