Read one visible Ads account
/sites/{site_id}/google-ads/accounts/{account_id}google-ads:readRequires google-ads:read. Stored reads only: no source=live, refresh, GAQL, provider account overrides, jobs, or credit charges. Explicit site grants and current campaign assignments constrain reports. Shared account collection coverage never grants other-site metrics.
| Request | GET https://satelliteai.io/api/v1/sites/{site_id}/google-ads/accounts/{account_id} |
| Permission | google-ads:read |
| Response | A single object: data is GoogleAdsAccount. |
| Operation ID | getGoogleAdsAccount |
More context and worked examples are in the developer guide.
Example request
curl --fail-with-body \
'https://satelliteai.io/api/v1/sites/123/google-ads/accounts/12' \
-H "Authorization: Bearer $SATELLITE_API_KEY"Replace the example IDs with values returned by the discovery endpoints. Example values are placeholders, not real records.
Parameters
| Name | In | Type | Description |
|---|---|---|---|
site_idrequired | path | integer | ID from GET /sites. min 1 |
account_idrequired | path | integer | Satellite account ID from /google-ads/accounts; not the Google customer ID. min 1 · max 2147483647 · example 12 |
Unknown or repeated query parameters return 400.
Data dictionary
Stored site-assigned results. No provider refresh or credit debit.
[] marks an array element. nullable means the value can be null; treat it as unknown, not zero. always present means the key is always included in the object.
| Field | Type | Description |
|---|---|---|
data.id | integeralways present | Satellite identifier for this record. |
data.customer_id | stringalways present | Google customer identifier; a string, distinct from Satellite account_id. max length 4096 · pattern ^[0-9]{10}$ |
data.name | stringnullablealways present | max length 4096 |
data.currency_code | stringnullablealways present | max length 4096 |
data.time_zone | stringnullablealways present | max length 4096 |
data.status | stringnullablealways present | max length 4096 |
data.is_selected | booleanalways present | |
data.is_test | booleanalways present | |
data.is_home_site | booleanalways present | |
data.reachability | stringnullablealways present | max length 4096 |
data.connection_status | stringalways present | max length 4096 |
data.history_months | integernullablealways present | |
data.last_discovered_at | string (date-time)nullablealways present | max length 4096 |
Response metadata
| Field | Type | Description |
|---|---|---|
meta.request_id | stringalways present | Request identifier; also returned in X-Request-ID. Include it in support requests. |
meta.api_version | stringalways present | API version that produced the response. one of: v1 |
meta.limit | integer | Maximum records per page applied to this request. min 1 · max 100 |
meta.has_more | boolean | True when another page is available. |
meta.next_cursor | stringnullable | Opaque cursor for the next page; send as cursor. Null on the last page. |
meta.availability | string | available when stored data exists; not_available when it does not. one of: available, not_available |
meta.source | stringalways present | one of: stored · max length 4096 |
meta.access_scope | string | one of: site · max length 4096 |
meta.connection_status | string | max length 128 |
meta.offset | integer | min 0 · max 100000 |
meta.next_offset | integernullable | min 0 · max 100000 |
meta.offset_limit_reached | boolean |
Error responses
Errors return {"error": {"code", "message", "request_id"}}. See error handling for retry guidance.
| HTTP | When |
|---|---|
400 | Unknown/repeated query, invalid filter or dates. summary rejects limit/offset; variant filters are only accepted by their corresponding report. |
401 | Missing, invalid, expired, or revoked credential. |
403 | Required explicit scope, active integration, or company API access unavailable. |
404 | Missing or inaccessible site, account, campaign, report, entity type, or dataset. |
409 | google_ads_timezone_unavailable: stored account time zone needs correction. |
413 | Response too large. |
429 | Request allowance exceeded; honor Retry-After. |
503 | Stored reporting or authentication temporarily unavailable. |