---
title: "Replace Consent translations"
method: PUT
path: "/v1/projects/{projectId}/consent/configuration/i18n"
tags: ["Consent"]
---

# Replace Consent translations

`PUT /v1/projects/{projectId}/consent/configuration/i18n`

## Request

- Base URL: `https://api.inth.com`
- URL: `https://api.inth.com/v1/projects/{projectId}/consent/configuration/i18n`
- Auth: HTTP bearer

Replaces the full stored translation object. i18n null clears it. Nested fields are not merged. Shared plan and translation validation still apply. Requires consent.write, projects.read and projects.write, with an admin or owner role. New public writes require rollout-agent-access-writes, default false. Organization API keys cannot call this operation.

## Path parameters

- `projectId` string, required

## Request body

- ProjectConsentI18nUpdate
  - `i18n` object, nullable, required
    - `defaultProfile` string
    - `messages` object

## Response `200`

Success

- object
  - `success` unknown, required
  - `data` ConsentSettings, required
    - `trustedOrigins` string[], required: Deprecated: read the project's `websites`. These are the Consent entries alone; the runtime allows every website, including addresses only an audit uses.
    - `branding` 'inth' | 'c15t' | 'none', required: Branding shown in the consent banner. Removing branding with 'none' requires an eligible paid plan.
    - `backendUrl` string, uri, nullable, required: The consent runtime URL your site points the c15t client at.
    - `dashboardUrl` string, uri, required
    - `version` string, required: Consent runtime version.

## Other responses

- `400`: The request payload or parameters are invalid.
- `401`: Authentication is missing, invalid, or expired.
- `403`: The credential is valid but may not perform the operation. `INSUFFICIENT_SCOPE`: the credential was never granted the capability the operation needs. `details.requiredScope` names it, and the `WWW-Authenticate` header carries `Bearer error="insufficient_scope"`. An OAuth client fixes this by requesting the scope; an organization API key cannot gain it. `FORBIDDEN`: the capability is present but the membership behind the credential lacks the role, or the resource belongs to another organization.
- `404`: The requested resource was not found.
- `409`: The request conflicts with the current resource state.
- `503`: The capability is temporarily paused by an operator. Retry later.

## Changes

- **2026-10-31** `a3f4100e14c9`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/inth/apis/inth-api/changes/v1/projects/:projectId/consent/configuration/i18n/put.md)

---

[API](https://skmtc.dev/inth/apis/inth-api.md) - [All operations](https://skmtc.dev/inth/apis/inth-api/llms.txt) - [OpenAPI document](https://skmtc.dev/inth/apis/inth-api/revisions/8741280c3463?raw)
