Accept the partner terms
The partner_terms.accept operation: POST /api/v1/partner_terms_acceptance in the REST API and the partner_terms_accept tool in the MCP server.
/api/v1/partner_terms_acceptanceRecords 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.
At a glance
- REST:
POST /api/v1/partner_terms_acceptance - MCP tool:
partner_terms_accept - Operation ID:
partner_terms.accept - Scope: Organization
- Permission:
org:write - Risk tier:
write - Dry run: Supported (send
Ownrecord-Dry-Run: true) - Idempotency:
Idempotency-Keyrequired - Modes: Test and live
- Authentication: API key with the
org:writescope - Since: M13
Request
Body
A JSON object (Content-Type: application/json):
| Field | Type | Required | Description |
|---|---|---|---|
version | string | Yes |
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
Accept version 1.0
POST /api/v1/partner_terms_acceptance
Authorization: Bearer or_test_…
Idempotency-Key: 3f1c9a52-7d0e-4b8f-9a61-0c2d5e8b7f14
Content-Type: application/json
{
"version": "1.0"
}
Response (200):
{
"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"]
}
Errors
| Code | HTTP status | When | What to do |
|---|---|---|---|
legal_version_not_acceptable | 400 | The version isn't the one in effect or an announced newer one. | Accept the version in effect, or an announced newer version. details.acceptable lists the versions you can accept; read them at /legal/{document}/{version}. |
permission_denied | 403 | You aren't an owner or admin signed in to the console. | Ask an organization owner or admin for a role or scope that allows this action. |
validation_failed | 400 | The version is missing. | Fix the fields listed in details.issues and send the request again. |
version_conflict | 409 | The acceptance changed at the same time; retry. | Fetch the object again and retry the change. |
It can also return these common errors: api_version_unsupported, invalid_json, unsupported_media_type, authentication_required, api_key_invalid, resource_not_found, idempotency_key_required, idempotency_key_reused, idempotency_in_progress, approval_required, approval_rejected, approval_expired, stale_approval, approval_policy_denied, rate_limited, internal_error.