# Get the partner terms acceptance

> The partner_terms.get operation: GET /api/v1/partner_terms_acceptance in the REST API and the partner_terms_get tool in the MCP server.

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.

## At a glance

- **REST:** `GET /api/v1/partner_terms_acceptance`
- **MCP tool:** `partner_terms_get`
- **Operation ID:** `partner_terms.get`
- **Scope:** Organization
- **Permission:** `org:read`
- **Risk tier:** `read`
- **Dry run:** Not supported
- **Idempotency:** Not needed (read only)
- **Modes:** Test and live
- **Authentication:** API key with the `org:read` scope
- **Since:** M13

## Request

### Query parameters

This operation takes no query parameters.

## Response

`200 OK` with a JSON object:

| Field                   | Type                                                                         | Description |
| ----------------------- | ---------------------------------------------------------------------------- | ----------- |
| `object`                | `"partner_terms_acceptance"`                                                 |             |
| `organizationId`        | `org_…` ID                                                                   |             |
| `status`                | one of `accepted`, `update_announced`, `acceptance_required`, `not_accepted` |             |
| `actionRequired`        | boolean                                                                      |             |
| `acceptedVersion`       | string or null                                                               |             |
| `acceptedAt`            | date-time or null                                                            |             |
| `acceptedBy`            | `usr_…` ID or null                                                           |             |
| `current`               | object                                                                       |             |
| `current.version`       | string                                                                       |             |
| `current.effectiveDate` | string                                                                       |             |
| `current.status`        | one of `draft`, `approved`                                                   |             |
| `current.url`           | string                                                                       |             |
| `current.versionUrl`    | string                                                                       |             |
| `upcoming`              | object or null                                                               |             |
| `acceptableVersions`    | array of string                                                              |             |

## Examples

### Accepted

```http
GET /api/v1/partner_terms_acceptance
Authorization: Bearer or_test_…
```

Response (`200`):

```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

```http
GET /api/v1/partner_terms_acceptance
Authorization: Bearer or_test_…
```

Response (`200`):

```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"]
}
```

## Errors

| Code                                                                                   | HTTP status | When                              | What to do                                                                      |
| -------------------------------------------------------------------------------------- | ----------- | --------------------------------- | ------------------------------------------------------------------------------- |
| [`permission_denied`](https://ownrecord.io/docs/reference/errors.md#permission_denied) | 403         | You can't read this organization. | Ask an organization owner or admin for a role or scope that allows this action. |

It can also return these [common errors](https://ownrecord.io/docs/reference.md#common-errors): [`validation_failed`](https://ownrecord.io/docs/reference/errors.md#validation_failed), [`api_version_unsupported`](https://ownrecord.io/docs/reference/errors.md#api_version_unsupported), [`authentication_required`](https://ownrecord.io/docs/reference/errors.md#authentication_required), [`api_key_invalid`](https://ownrecord.io/docs/reference/errors.md#api_key_invalid), [`resource_not_found`](https://ownrecord.io/docs/reference/errors.md#resource_not_found), [`dry_run_not_supported`](https://ownrecord.io/docs/reference/errors.md#dry_run_not_supported), [`rate_limited`](https://ownrecord.io/docs/reference/errors.md#rate_limited), [`internal_error`](https://ownrecord.io/docs/reference/errors.md#internal_error).
