---
title: "Delete the Consent runtime"
method: DELETE
path: "/v1/projects/{projectId}/consent/runtime"
tags: ["Consent"]
---

# Delete the Consent runtime

`DELETE /v1/projects/{projectId}/consent/runtime`

## Request

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

Archives the runtime and removes runtime access. Legacy runtime deletion can delete its database. V2 historical consent records remain in shared storage; this action does not schedule their purge. The project remains available. Requires the current runtime ID and backend version from lifecycle metadata as an explicit target confirmation; stale values return CONFLICT. The response snapshot has item null after archival and does not confirm erasure of historical records. Requires consent.lifecycle.write, projects.read and projects.write, with an admin or owner role for update/upgrade, or an owner role for delete. Subject to rollout-agent-access-writes and allow-public-agent-writes. Organization API keys cannot call this operation.

## Path parameters

- `projectId` string, required

## Request body

- ProjectConsentLifecycleMutation
  - `expectedInstanceId` string, required
  - `expectedBackendVersion` string, required

## Response `200`

Success

- object
  - `success` unknown, required
  - `data` ProjectConsentLifecycleMutationResult, required
    - `action` 'update' | 'upgrade' | 'delete', required
    - `completed` true, required
    - `organizationId` string, required
    - `projectSlug` string, required
    - `snapshot` object, required
      - `collection` 'consent-lifecycle', required
      - `item` object, nullable, required
        - `backendVersion` string, required
        - `canDelete` boolean, required
        - `canUpdate` boolean, required
        - `canUpgrade` boolean, required
        - `id` string, required
        - `instanceName` string, required
        - `instanceSlug` string, required
        - `isV2` boolean, required
        - `latestVersion` string, required
        - `needsUpdate` boolean, required
        - `organizationId` string, required
        - `organizationSlug` string, required
        - `projectId` string, required
        - `projectSlug` string, required
        - `updateBlocked` 'enable-billing', nullable, required
      - `organizationId` string, required
      - `projectSlug` string, required
      - `projectionVersion` 1, required
    - `projectId` string, required

## 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/runtime/delete.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/5a1be8d43402?raw)
