Ads · Ad Accounts

Get manager account hierarchy

Fetches a manager account hierarchy. Works with Google Ads.

GEThttps://api.pozy.ai/v1/ads/accounts/hierarchy
Google WorkspacegetAdAccountHierarchy

Guide: Google Ads

Request

Send your API key as Authorization: Bearer pz_live_.... Read-only keys can call it. Keys with the ads resource group disabled get 403 resource_group_disabled. Authentication

Query parameters

NameTypeNotes
accountIdrequiredstring
adAccountIdstring
customerIdstring

Example

curl -X GET "https://api.pozy.ai/v1/ads/accounts/hierarchy?accountId=696e0b682d0a31188e7a2ba9" \
  -H "Authorization: Bearer $POZY_API_KEY"

Response

200 on success

  • accountIdstring
  • rootsarray of object
    9 child fields
    • customerIdstring
    • namestring

      Can be null.

    • currencystring

      Can be null.

    • timeZonestring

      Can be null.

    • managerboolean
    • testAccountboolean
    • statusstring

      Can be null.

    • managerLinksarray of object
      3 child fields
      • managerCustomerIdstring
      • managerLinkIdstring
      • statusstring

        One of ACTIVE, PENDING.

    • clientsarray of object
      12 child fields
      • customerIdstring
      • namestring

        Can be null.

      • currencystring

        Can be null.

      • timeZonestring

        Can be null.

      • managerboolean
      • testAccountboolean
      • hiddenboolean
      • levelinteger
      • statusstring

        Can be null.

      • parentCustomerIdstring

        Can be null.

      • managerLinkIdstring

        Can be null.

      • linkStatusstring

        One of ACTIVE, PENDING. Can be null.

  • directCustomersarray of object
    • customerIdstring
    • managerboolean
    • pendingInvitationsarray of object
      2 child fields
      • managerCustomerIdstring
      • managerLinkIdstring
  • unavailablearray of object
    • customerIdstring
    • reasonstring
  • truncatedboolean
  • cachedAtstring (date-time)

    Can be null.

  • staleboolean
200 response
{
  "accountId": "696e0b682d0a31188e7a2ba9",
  "roots": [
    {
      "customerId": "691909ff82eb5ed7c816716d",
      "name": "Acme",
      "currency": "USD",
      "timeZone": "America/New_York",
      "manager": true,
      "testAccount": true,
      "status": "active",
      "managerLinks": [
        {
          "managerCustomerId": "6d00a12c8c36af8967d368bc",
          "managerLinkId": "6083e4956af6ca4aa26c607c",
          "status": "ACTIVE"
        }
      ],
      "clients": [
        {
          "customerId": "691909ff82eb5ed7c816716d",
          "name": "Acme",
          "currency": "USD",
          "timeZone": "America/New_York",
          "manager": true,
          "testAccount": true,
          "hidden": true,
          "level": 1,
          "status": "active",
          "parentCustomerId": "65c55e40b26b6e2a3dd836d1",
          "managerLinkId": "6083e4956af6ca4aa26c607c",
          "linkStatus": "ACTIVE"
        }
      ]
    }
  ],
  "directCustomers": [
    {
      "customerId": "691909ff82eb5ed7c816716d",
      "manager": true,
      "pendingInvitations": [
        {
          "managerCustomerId": "6d00a12c8c36af8967d368bc",
          "managerLinkId": "6083e4956af6ca4aa26c607c"
        }
      ]
    }
  ],
  "unavailable": [
    {
      "customerId": "691909ff82eb5ed7c816716d",
      "reason": "string"
    }
  ],
  "truncated": true,
  "cachedAt": "2026-10-02T09:00:00.000Z",
  "stale": true
}

Errors

Errors use one shape: { error, type, code, param?, details? }. The ones you are most likely to see here:

400invalid_request_errorA parameter or body field is missing or invalid. param names it.
401authentication_errorThe API key is missing, revoked or expired.
403permission_errorThe key is scoped to other profiles or has this resource group disabled.
429rate_limit_errorToo many requests this minute. Wait for Retry-After seconds.

Every code is listed in Errors.

More in Ad Accounts

GETList comments on an adPOSTReply to an ad commentPOSTHide or unhide an ad commentDELDelete an ad commentGETList TikTok Business CentersGETAd account change / audit logGETA/B tests and lift studiesGETList Instagram ad identitiesGETList Instagram posts to boostGETList advertisable appsGETGet iOS 14 campaign limitsGETBusinesses listGETBusiness usersGETPage users of a businessPOSTAssign a user to a PageDELRemove a user from a PageGETList ad labelsPOSTCreate a Google Ads labelPATCHUpdate a Google Ads labelDELRemove a Google Ads labelPOSTAttach a Google Ads labelDELDetach a Google Ads labelGETList high-demand periodsPOSTSchedule a budget increaseGETList value rule setsPOSTCreate a value rule setGETRead a value rule setPUTReplace a value rule setDELDelete a value rule setGETList negative keyword listsPOSTCreate a negative keyword listGETGet a negative keyword listPUTRename a negative keyword listDELDelete a negative keyword listPUTReplace negative list keywordsGETList account calloutsPOSTAdd account calloutsPUTUpdate account calloutsDELRemove account calloutGETList account sitelinksPOSTAdd account sitelinksPUTUpdate account sitelinksDELRemove account sitelinkGETList account snippetsPOSTAdd account snippetsPUTUpdate account snippetsDELRemove account snippetPOSTInvite a client account to a managerPATCHAccept, decline, cancel or end a manager linkGETGet ad account billingPOSTSet up ad account billing (monthly invoicing)GETList user access invitationsPOSTInvite a user to an ad account by emailDELRevoke a user access invitationGETList invitations awaiting multi-party approvalDELWithdraw an invitation awaiting multi-party approvalGETAd account usersPOSTAssign a user to an ad accountDELRemove a user from an ad accountGETAd account financesGETCheck an ad account before creating adsGETRead an ad account's campaigns and ad sets liveGETList ad accountsPOSTCreate ad accountPATCHUpdate ad account settingsGETGet ad account DSA defaultsGETGet DSA recommendationsGETList custom conversionsPOSTCreate custom conversionGETList TikTok ad pixels