---
title: "Create a partner-purpose association"
method: POST
path: "/metadata/partners-purposes"
tags: ["metadata"]
---

# Create a partner-purpose association

`POST /metadata/partners-purposes`

Creates a new association between a partner and purpose, optionally scoped to an organization

## Request body

- PartnersPurposesInput
  - `metadata_partner_id` string, required — Foreign key reference to metadata-partners(id)
  - `metadata_purpose_id` string, required — Foreign key reference to metadata-purposes(id)
  - `organization_id` string, nullable — Optional organization ID for org-specific overrides. Null indicates a global association
  - `processing_rules` string[], required — Processing rules for this partner-purpose combination. `essential` carries no user choice: the purpose is disclosed but cannot be consented to or objected to, so it cannot be combined with `opt-in` or `opt-out`
  - `is_flexible` boolean — Whether the declared processing rule may be overridden by a publisher restriction. Defaults to false. Cannot be set on an `essential` association

## Response `201`

- PartnersPurposes
  - `id` string, required — Unique identifier for the partner-purpose association
  - `metadata_partner_id` string, required — Foreign key reference to metadata-partners(id)
  - `metadata_purpose_id` string, required — Foreign key reference to metadata-purposes(id)
  - `organization_id` string, nullable — Optional organization ID for org-specific overrides. Null indicates a global association
  - `processing_rules` string[], required — Processing rules for this partner-purpose combination. `essential` carries no user choice: the purpose is disclosed but cannot be consented to or objected to, so it cannot be combined with `opt-in` or `opt-out`
  - `is_org_override` boolean — Read-only flag indicating if this is an organization override of a global association
  - `is_flexible` boolean — Whether the declared processing rule may be overridden by a publisher restriction. The declared rule stays authoritative until a publisher restricts the purpose. Cannot be set on an `essential` association, which declares no legal basis to override
  - `default_purposes_id` string, nullable — Legacy foreign key reference to metadata-partners-default-purposes(id)
  - `legitimate_interest_purposes_id` string, nullable — Legacy foreign key reference to metadata-partners-legitimate-interest-purposes(id)
  - `created_at` string, date-time — Timestamp of record creation
  - `updated_at` string, date-time — Timestamp of last update
  - `version` integer — Version number for concurrency control

---

[API](https://skmtc.net/didomi/apis/didomi-api.md) · [All operations](https://skmtc.net/didomi/apis/didomi-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/didomi/didomi-api/revisions/70997bf7efc9/schema)
