---
title: "Legal documents — API v1 | Nodea Documentation"
description: "Reference of the Legal documents module: the REST API v1 endpoint with the acceptance status of terms, privacy policy and the data processing agreement for a customer account, scope account:read."
url: "https://nodea.io/en/api-docs/legal"
lang: "en"
updated: "2026-10-14"
---

# Legal documents — API v1 | Nodea Documentation

> Reference of the Legal documents module — read-only acceptance status of the documents (terms, privacy policy, data processing agreement) for the current account, scope account:read. Acceptance happens only in the panel.

The **Legal documents** module exposes over API v1 only a **read-only** acceptance status of the legal documents by a customer account: the general terms, the terms of individual services, the privacy policy and the data processing agreement. The document texts are public at /legal/{slug}. Accepting new versions and concluding the data processing agreement are only possible in the panel (by the account owner, with the date, IP address and browser recorded) — the API does not offer them.

## Authentication and scopes

Passport personal access token in the Authorization: Bearer \<token\> header. Required scope:

- account:read — acceptance status of the current account.

Rate limit: throttle:api-v1. The request runs in the current account (token pin → X-Account-Id header → default account). The module has no MCP tools.

## API v1 — endpoints

MethodPathScopeDescriptionGET/api/v1/legal/acceptanceaccount:readStatus of every published document for the current account and the latest data processing agreement.

### Response

- data.account\_id — the account the status refers to.
- data.blocking (bool) — whether the acceptance deadline of at least one required document has passed (the panel is then blocked for the owner until acceptance).
- data.pending\_count — number of documents awaiting acceptance.
- data.documents\[\] — slug, type (terms | service\_terms | privacy | dpa), service\_scope (vps | hosting | domains | dedicated | administration | ssl | null), title, current\_version, effective\_at, accept\_by (end of the grace period), applies (whether the document applies to the account — service terms only with a live service of that kind), requires\_acceptance, accepted\_version (null without acceptance), accepted\_at, pending, url (public page of the document).
- data.dpa — { concluded, version, concluded\_at, reference } — the latest data processing agreement of the account.

### Error codes

- 401 — missing or invalid token.
- 403 — token without the account:read scope, or no access to the X-Account-Id account (account\_forbidden, account\_mismatch).
- 403 no\_account\_context — the user has no account, or several and none is selected.

### Example — curl

curl -H "Authorization: Bearer $TOKEN" https://app.nodea.io/api/v1/legal/acceptance

## Related

- [Customer accounts — API v1 and MCP | Nodea Documentation](https://nodea.io/en/api-docs/accounts)
- [Account profile — API v1 and MCP | Nodea Documentation](https://nodea.io/en/api-docs/profile)

---

Languages: [pl](https://nodea.pl/pl/dokumentacja-api/legal.md)  
Site index: [llms.txt](https://nodea.io/en/llms.txt)
