---
title: "POST /v2beta1/accounts/{accountId}/proposals/{proposalId}:completeSetup"
method: POST
path: "/v2beta1/accounts/{accountId}/proposals/{proposalId}:completeSetup"
tags: ["accounts"]
---

# POST /v2beta1/accounts/{accountId}/proposals/{proposalId}:completeSetup

`POST /v2beta1/accounts/{accountId}/proposals/{proposalId}:completeSetup`

You can opt-in to manually update proposals to indicate that setup is complete. By default, proposal setup is automatically completed after their deals are finalized. Contact your Technical Account Manager to opt in. Buyers can call this method when the proposal has been finalized, and all the required creatives have been uploaded using the Creatives API. This call updates the `is_setup_completed` field on the deals in the proposal, and notifies the seller. The server then advances the revision number of the most recent proposal. To mark an individual deal as ready to serve, call `buyers.finalizedDeals.setReadyToServe` in the Marketplace API.

## Path parameters

- `accountId` string, required
- `proposalId` string, required

## Request body

- CompleteSetupRequest — Request message for indicating that the proposal's setup step is complete.
  - `externalDealIds` string[] — The external deal ids of the deals to mark as setup completed. If empty, all the deals in the proposal will be marked as setup completed.

## Response `200`

Successful response

---

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