---
title: "Create a MetadataPurposeRegulationOverride"
method: POST
path: "/metadata/purposes-regulations-overrides"
tags: ["metadata-purpose-regulation-override"]
---

# Create a MetadataPurposeRegulationOverride

`POST /metadata/purposes-regulations-overrides`

## Request

- Base URL: `https://api.didomi.io` (the document declares no server; this is the origin it was published from)
- URL: `https://api.didomi.io/metadata/purposes-regulations-overrides`
- Auth: HTTP bearer

Create a new MetadataPurposeRegulationOverride

## Request body

- MetadataPurposeRegulationOverrideInput
  - `organization_id` string, required: ID of the organization which the MetadataPurposeRegulationOverride belongs to
  - `regulations_id` string[]: Regulation IDs this override assigns to the purpose. Sending this field (including null) sets `override_regulations` to true unless that field is sent explicitly. Omit both this field and `override_regulations` on create to keep the legacy meaning: all regulations.
  - `override_regulations` boolean: When false, catalog regulations stay in effect. Omitted on create defaults to true (legacy omit `regulations_id` meant all regulations). Send false for a flag-only override.
  - `metadata_purpose_id` string, required: The ID of the associated global (organization_id=null) metadata purpose
  - `opted_out_by_gpc` boolean, nullable: Org-scoped GPC flag. Null inherits the catalog purpose default.
  - `necessary_to_generate_revenue` boolean, nullable: Org-scoped Consent-or-Pay flag. Null inherits the catalog purpose default.

## Response `200`

The created MetadataPurposeRegulationOverride object

- MetadataPurposeRegulationOverride: A table to define MetadataPurposeRegulationOverrides. Overrides allow clients to define which regulations a global (organization_id=null) metadata purpose supports, and to set org-scoped applicability flags. It is not supported to define overrides for a custom purpose (purposes created by an organization). When `override_regulations` is true, a null value of `regulations_id` means all regulations are supported, and an empty array means no regulations are supported. When `override_regulations` is false, catalog regulations stay in effect.
  - `id` string, required: The unique identifier of the override
  - `organization_id` string, required: ID of the organization that owns the override
  - `created_at` string, date-time: Creation date of the override
  - `updated_at` string, date-time: Last update date of the override
  - `deleted_at` string, date-time: Deletion date of the override
  - `regulations_id` string[]: An array of regulation IDs the override configures the metadata purpose to support when `override_regulations` is true
  - `override_regulations` boolean: When false, catalog regulations stay in effect and `regulations_id` is unused. True (the default for existing rows) applies `regulations_id`, where null means every regulation.
  - `metadata_purpose_id` string, required: The ID of the associated global (organization_id=null) metadata purpose
  - `opted_out_by_gpc` boolean, nullable: Org-scoped GPC flag. Null inherits the catalog purpose default.
  - `necessary_to_generate_revenue` boolean, nullable: Org-scoped Consent-or-Pay flag. Null inherits the catalog purpose default.

## Changes

- **2026-10-01** `32787b3e7b03`: 6 info
  - added the new optional request property `necessary_to_generate_revenue`
  - added the new optional request property `opted_out_by_gpc`
  - added the new optional request property `override_regulations`
  - added the optional property `necessary_to_generate_revenue` to the response with the `200` status
  - …2 more

[Operation history](https://skmtc.dev/didomi/apis/didomi-api/changes/metadata/purposes-regulations-overrides/post.md)

---

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