---
title: "Update account callouts"
method: PUT
path: "/v1/ads/accounts/callouts"
tags: ["Ad Accounts"]
---

# Update account callouts

`PUT /v1/ads/accounts/callouts`

Edits existing Google assets in place. Send updates with assetResourceName and the fields to change. An asset is shared: changes affect every attachment using it. Omitted fields stay unchanged. The operation consumes the Google operations budget and invalidates affected cached lists.

## Request body

- object
  - `accountId` string, required — Zernio Google Ads connection id.
  - `adAccountId` string — Platform ad account ID (Google customer ID, digits only). Required when the connection has multiple customers.
  - `customerId` string — Alias of adAccountId, kept for existing callers
  - `updates` object[], required
    - `assetResourceName` string, required — Asset resource name returned by a list operation. Must belong to the selected customer.
    - `calloutAsset` object
      - `calloutText` string, required

## Response `200`

Assets returned.

- object
  - `updated` integer
  - `customerId` string

## Other responses

- `400` — Invalid request
- `401` — Unauthorized
- `403` — Ads access is required.
- `404` — The account or requested resource was not found or is not accessible. An account ID may have been disconnected and removed. Read GET /v1/accounts for current account IDs.
- `409` — The account exists but is inactive or needs reconnection. Reconnect it, then read GET /v1/accounts for its current account ID before retrying. Code: ads_connection_required.
- `429` — Google Ads operations budget or platform quota exhausted.
- `501` — Only supported on Google Ads.

## Changes

- **2026-09-25** `2c04683ce694` — 12 info
  - added the optional property `details/adAccountId` to the response with the `400` status
  - added the optional property `details/adAccountId` to the response with the `404` status
  - added the optional property `details/adAccountId` to the response with the `409` status
  - added the optional property `details/createdObjects` to the response with the `400` status
  - …8 more
- **2026-09-23** `dd3865482f9f` — 2 info
  - added the new optional request property `adAccountId`
  - request property `customerId` deprecated
- **2026-09-16** `3e6ddf2a99ea` — 3 info
  - added the optional property `details/budgetScope` to the response with the `400` status
  - added the optional property `details/budgetScope` to the response with the `404` status
  - added the optional property `details/budgetScope` to the response with the `409` status
- **2026-09-15** `0dba7d004d75` — 6 info
  - added the optional property `details/quotaExhausted` to the response with the `400` status
  - added the optional property `details/quotaExhausted` to the response with the `404` status
  - added the optional property `details/quotaExhausted` to the response with the `409` status
  - added the optional property `details/quotaScope` to the response with the `400` status
  - …2 more
- …earlier changes not shown

[Full history](https://skmtc.dev/zernio/apis/zernio-api/changes/v1/ads/accounts/callouts/put.md)

---

[API](https://skmtc.dev/zernio/apis/zernio-api.md) · [All operations](https://skmtc.dev/zernio/apis/zernio-api/llms.txt) · [OpenAPI document](https://skmtc.dev/zernio/apis/zernio-api/revisions/b2325332041a?raw)
