---
title: "POST /v23/customers/{customersId}/experiments/{experimentsId}:graduateExperiment"
method: POST
path: "/v23/customers/{customersId}/experiments/{experimentsId}:graduateExperiment"
tags: ["customers"]
---

# POST /v23/customers/{customersId}/experiments/{experimentsId}:graduateExperiment

`POST /v23/customers/{customersId}/experiments/{experimentsId}:graduateExperiment`

## Request

- Base URL: `https://searchads360.googleapis.com`
- URL: `https://searchads360.googleapis.com/v23/customers/{customersId}/experiments/{experimentsId}:graduateExperiment`
- Auth: OAuth 2 and OAuth 2
  - Implicit: `https://accounts.google.com/o/oauth2/auth`
  - Scopes: `https://www.googleapis.com/auth/doubleclicksearch`
  - Authorization code: `https://accounts.google.com/o/oauth2/auth`
  - Token URL: `https://accounts.google.com/o/oauth2/token` scopes: `https://www.googleapis.com/auth/doubleclicksearch`
- TypeScript: <https://skmtc.dev/google/apis/searchads360/docs/v23/customers/:customersId/experiments/:experimentsId:graduateExperiment/post.ts> (a function with typed inputs; its response is checked against the schema)

Graduates an experiment to a full campaign. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [ExperimentError]() [HeaderError]() [InternalError]() [MutateError]() [QuotaError]() [RequestError]()

## Path parameters

- `customersId` string, required
- `experimentsId` string, required

## Request body

- GoogleAdsSearchads360V23ServicesGraduateExperimentRequest: Request message for ExperimentService.GraduateExperiment.
  - `campaignBudgetMappings` GoogleAdsSearchads360V23ServicesCampaignBudgetMapping[]: Required. List of campaign budget mappings for graduation. Each campaign that appears here will graduate, and will be assigned a new budget that is paired with it in the mapping. The maximum size is one.
    - `campaignBudget` string: Required. The budget that should be attached to the graduating experiment campaign.
    - `experimentCampaign` string: Required. The experiment campaign to graduate.
  - `validateOnly` boolean: If true, the request is validated but not executed. Only errors are returned, not results.

## Response `200`

Successful response

- GoogleProtobufEmpty: A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }

---

[API](https://skmtc.dev/google/apis/searchads360.md) - [All operations](https://skmtc.dev/google/apis/searchads360/llms.txt) - [OpenAPI document](https://skmtc.dev/google/apis/searchads360/revisions/4a4511f84b18?raw)
