---
search:
  tags:
    - Campaign Plans
    - POST
seo:
  description: >-
    Approves a Campaign Plan and validates its draft Line Items. An… Reference
    for the POST /context/campaign-plans/{slug}/approve endpoint in the AdCrunch
    API.
sidebar:
  label: Approve a Campaign Plan
  badge: POST
title: Approve a Campaign Plan
type: openapi-operation
---
Approves a Campaign Plan and validates its draft Line Items. An approval records that a person agreed to the content of the Campaign Plan. It is a record, not a gate: the provider write tools do not check it.

**This call blocks on nothing.** You can approve a Campaign Plan with no budget, with more allocated than the envelope, or with parts missing. The person who approves decides. To check one Line Item before you build it, read its readiness.

This call creates nothing and spends nothing. To build a Line Item, use the mutation tools with the `mutation:write` permission.

This call moves the `revision` of the Campaign Plan, and the `revision` of each Line Item it validates. Read the Campaign Plan again before your next guarded write.

A Line Item that you add after the approval starts in draft, and it puts the Campaign Plan back into draft. The answer is `409` with `error=revision_mismatch` if the Campaign Plan changed after you read it.

`POST /context/campaign-plans/{slug}/approve`
