---
title: Delete compliance profile
description: "Delete the company's DPP compliance profile and all stored company facts. Requires passports:write and admin role for OAuth. Irreversible."
canonical: "https://www.tracepass.eu/docs/delete-compliance-profile"
locale: en
source: "https://www.tracepass.eu/docs/delete-compliance-profile"
---

# Delete compliance profile

> Delete the company's DPP compliance profile and all stored company facts. Requires passports:write and admin role for OAuth. Irreversible.

```http
DELETE /api/v1/company/compliance-profile
```

Removes the entire `complianceProfile` sub-document from the company record, including all stored facts (role, categories, markets, products, and all learned values). Returns `{ "deleted": true }` on success. After deletion, `GET /api/v1/company/compliance-profile` returns an empty profile (`{ "complianceProfile": {} }`). The DPP Assistant tools will then have no saved defaults and will ask for the relevant facts fresh on the next question.

Auth: an API key or OAuth with `passports:write`. For OAuth principals, the user must have the `admin` or `owner` role. Counts no scope answer.

## Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `Authorization` | header | string | yes | `Bearer <token>` — either a `tp_` API key (Developer → API Keys; simplest, for server-to-server) or an OAuth 2.0 access token (Developer → OAuth Apps; for user-authorized apps, scoped + revocable). The Authentication page has the full OAuth flow and scope list. |

## Examples

```bash
curl -sS https://app.tracepass.eu/api/v1/company/compliance-profile \
  -X DELETE \
  -H "Authorization: Bearer tp_REDACTED_xxxxxxxxxxxx"
```

```typescript
const res = await fetch("https://app.tracepass.eu/api/v1/company/compliance-profile", {
  method: "DELETE",
  headers: { Authorization: `Bearer ${process.env.TRACEPASS_API_KEY}` },
});
const { deleted } = await res.json(); // true
```

```python
import os, requests
resp = requests.delete(
    "https://app.tracepass.eu/api/v1/company/compliance-profile",
    headers={"Authorization": f"Bearer {os.environ['TRACEPASS_API_KEY']}"},
)
data = resp.json()  # {"deleted": True}
```

## Responses

### 200 — Deleted

```json
{ "deleted": true }
```

### 401 — Unauthorized

```json
{ "error": "Invalid or revoked API key" }
```

### 403 — Admin role required

```json
{ "error": "Forbidden", "message": "admin role required to delete the compliance profile" }
```

## Related

- [GET Read compliance profile](https://www.tracepass.eu/docs/get-compliance-profile.md)
- [PATCH Update compliance profile](https://www.tracepass.eu/docs/patch-compliance-profile.md)
