> ## Documentation Index
> Fetch the complete documentation index at: https://agenticadvertisingorg-feature-feedback.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# create_content_standards

> create_content_standards defines a brand suitability configuration with content policies, risk thresholds, and category rules for AdCP campaigns.

# create\_content\_standards

Create a new content standards configuration.

**Response time**: \< 1s

## Request

**Schema**: [create-content-standards-request.json](https://adcontextprotocol.org/schemas/v3/content-standards/create-content-standards-request.json)

| Parameter               | Type           | Required | Description                                                                                                                                                                                                                                            |
| ----------------------- | -------------- | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `scope`                 | object         | Yes      | Where this standards configuration applies (must include `languages_any`)                                                                                                                                                                              |
| `policies`              | PolicyEntry\[] | One-of   | Bespoke policies, same shape as registry entries. Each has `{policy_id, enforcement, policy, ...optional: version/name/category/policy_categories/channels/jurisdictions/exemplars}`. At least one of `policies` or `registry_policy_ids` is required. |
| `registry_policy_ids`   | string\[]      | One-of   | References to shared policies in the registry. Combines with `policies` when both are provided. At least one of `policies` or `registry_policy_ids` is required.                                                                                       |
| `calibration_exemplars` | object         | No       | Training set of pass/fail artifacts for calibration                                                                                                                                                                                                    |

<Note>
  **Brand Safety Floor Requirement**

  Implementors MUST apply a brand safety floor regardless of what policy is defined in content standards. Content that violates the floor (hate speech, illegal content, etc.) must be excluded even when no content standards are specified. AdCP does not define the floor specification; this is left to implementors and industry standards (e.g., GARM categories).
</Note>

### Example Request

```json theme={null}
{
  "$schema": "/schemas/content-standards/create-content-standards-request.json",
  "idempotency_key": "a9b0c1d2-e3f4-4567-a890-567890123456",
  "scope": {
    "countries_all": ["GB", "DE", "FR"],
    "channels_any": ["display", "olv", "ctv"],
    "languages_any": ["en", "de", "fr"],
    "description": "EMEA - all digital channels"
  },
  "policies": [
    {
      "policy_id": "no_violence",
      "policy_categories": ["brand_safety"],
      "enforcement": "must",
      "policy": "Avoid content depicting violence, weapons, or physical aggression."
    },
    {
      "policy_id": "no_controversial_politics",
      "policy_categories": ["brand_suitability"],
      "enforcement": "must",
      "policy": "Avoid controversial political content and ongoing partisan disputes."
    },
    {
      "policy_id": "no_adult_themes",
      "policy_categories": ["brand_safety"],
      "enforcement": "must",
      "policy": "Avoid adult, sexual, or mature themes."
    },
    {
      "policy_id": "no_sedentary_glorification",
      "policy_categories": ["brand_suitability"],
      "enforcement": "should",
      "policy": "Avoid content that portrays sedentary lifestyle positively; conflicts with brand positioning."
    }
  ],
  "calibration_exemplars": {
    "pass": [
      { "type": "url", "value": "https://espn.com/nba/story/_/id/12345/lakers-championship", "language": "en" },
      { "type": "url", "value": "https://healthline.com/fitness/cardio-workout", "language": "en" }
    ],
    "fail": [
      { "type": "url", "value": "https://tabloid.example.com/celebrity-scandal", "language": "en" },
      { "type": "url", "value": "https://news.example.com/controversial-politics-article", "language": "en" }
    ]
  }
}
```

## Response

**Schema**: [create-content-standards-response.json](https://adcontextprotocol.org/schemas/v3/content-standards/create-content-standards-response.json)

### Success Response

```json theme={null}
{
  "$schema": "/schemas/content-standards/create-content-standards-response.json",
  "status": "completed",
  "standards_id": "emea_digital_safety"
}
```

### Error Responses

**Scope Conflict:**

```json theme={null}
{
  "errors": [
    {
      "code": "SCOPE_CONFLICT",
      "message": "Standards already exist for country 'DE' on channel 'display'",
      "conflicting_standards_id": "emea_digital_safety"
    }
  ]
}
```

## Scope Conflict Handling

Multiple standards cannot have overlapping scopes for the same country/channel/language combination. When creating standards that would conflict:

1. **Check existing standards** - Use [list\_content\_standards](./list_content_standards) filtered by your scope
2. **Update rather than create** - If standards already exist, use [update\_content\_standards](./update_content_standards)
3. **Narrow the scope** - Adjust countries or channels to avoid overlap

## Related Tasks

* [list\_content\_standards](./list_content_standards) - List all configurations
* [update\_content\_standards](./update_content_standards) - Update a configuration
* [calibrate\_content](./calibrate_content) - Calibrate seller's local model against these standards

<Warning>
  **Calibrate before production use.** After creating content standards, sellers MUST calibrate their local evaluation models via [`calibrate_content`](/docs/governance/content-standards/tasks/calibrate_content) before using the standards in production. Uncalibrated standards produce inconsistent evaluations — the verification agent and the seller's local model may interpret the same policy differently without alignment. See the [Calibration section](/docs/governance/content-standards/index#calibration) for the full workflow.
</Warning>
