---
title: "Sync google ads accounts"
method: POST
path: "/api/v1/business/google-ads-accounts/sync"
tags: ["business"]
---

# Sync google ads accounts

`POST /api/v1/business/google-ads-accounts/sync`

## Request

- Base URL: `https://point11.ai`
- URL: `https://point11.ai/api/v1/business/google-ads-accounts/sync`
- Auth: one of:
  - HTTP bearer
  - OAuth 2 (authorization code, authorization URL `https://auth.point11.ai/oauth2/authorize`, token URL `https://auth.point11.ai/oauth2/token`)

Refresh Quality Score from Google for one selected Google Ads account (by account id), or for every selected account when no id is given. With from and through (an editor, admin, or owner), read those days from Google, once per account per 15-minute window: a range asked in a window that already read one is answered by that read. Without them, an account refreshed in the last 15 minutes is left alone. The result names the accounts queued and the start of the 15-minute refresh window the request shares: each is refreshed once its last sync attempt passes it. Accounts also refresh daily on their own and whenever a member opens Google Ads.

## Headers

- `Point11-Organization` string, uuid
- `Idempotency-Key` string, uuid, required

## Request body

- BusinessGoogleAdsAccountsSyncRequest
  - `id` string, uuid
  - `from` string, date
  - `through` string, date

## Response `200`

Success.

- BusinessGoogleAdsAccountsSyncResponse
  - `queued` integer, required
  - `accountIds` string[], required
  - `requestedAt` string, required

## Other responses

- `400`: The input, query, or Idempotency-Key is invalid.
- `401`: The bearer is missing, expired, or not accepted.
- `402`: Billing refused the write: the code names the reason and `details.reason` carries it.
- `403`: The credential lacks the operation's scope or role, or the operation needs a different door.
- `404`: The resource or organization does not exist for this caller.
- `405`: This path takes another HTTP method, named in `Allow`.
- `409`: The request conflicts with current state or with prior use of its Idempotency-Key.
- `413`: The request, or the answer it asks for, is too large; narrow it.
- `429`: The credential's rate budget is spent; retry after `Retry-After` seconds.
- `500`: An unexpected server failure; retry later. Only `request_id` identifies it.
- `503`: A dependency is temporarily unavailable; retry after `Retry-After` seconds.
- `default`: Another status a product answers for its own refusal (for example `415` for an unsupported attachment); branch on `code`.

---

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