> ## Documentation Index
> Fetch the complete documentation index at: https://docs.erdo.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# ProvisionManagedOrganizationAdsContainerAPI gives a managed org its own Google
Ads container in


> one call: a fresh sub-account under the MANAGER org's Google Ads manager account (MCC), plus a delegated google\_ads connection in the managed org that operates it. Idempotent — an org that already has a delegated connection under this MCC gets it back (already\_provisioned: true), never a second sub-account. Deliberately no MCP tool: creating a billable provider account and a durable delegated credential stays off the model-facing tool surface, like manager-key minting and member adds (see the file header).




## OpenAPI

````yaml /api/openapi.json post /v1/managed-organizations/{orgSlug}/ads-container
openapi: 3.0.0
info:
  title: Erdo API
  description: >-
    Erdo's REST API: query and write datasets, run agents, manage threads,
    integrations, pages, evals, workstreams, and experiments. Authenticate with
    a Bearer API key (erdo_api_...) or scoped token (erdo_token_...).
  version: '2026-07-28'
servers:
  - url: https://api.erdo.ai
    description: Production
security:
  - bearerAuth: []
paths:
  /v1/managed-organizations/{orgSlug}/ads-container:
    post:
      summary: >
        ProvisionManagedOrganizationAdsContainerAPI gives a managed org its own
        Google

        Ads container in
      description: >
        one call: a fresh sub-account under the MANAGER org's Google Ads manager
        account (MCC), plus a delegated google\_ads connection in the managed
        org that operates it. Idempotent — an org that already has a delegated
        connection under this MCC gets it back (already\_provisioned: true),
        never a second sub-account. Deliberately no MCP tool: creating a
        billable provider account and a durable delegated credential stays off
        the model-facing tool surface, like manager-key minting and member adds
        (see the file header).
      operationId: POST:mcp.ProvisionManagedOrganizationAdsContainerAPI
      parameters:
        - allowEmptyValue: true
          explode: false
          in: path
          name: orgSlug
          required: true
          schema:
            type: string
          style: simple
      requestBody:
        content:
          application/json:
            schema:
              properties:
                currency_code:
                  type: string
                descriptive_name:
                  type: string
                time_zone:
                  type: string
              type: object
      responses:
        '200':
          content:
            application/json:
              schema:
                properties:
                  already_provisioned:
                    description: >
                      delegated connection under this manager's MCC, which was
                      returned instead of creating a second sub-account.
                    title: >
                      AlreadyProvisioned reports that the managed org already
                      had an active
                    type: boolean
                  customer_id:
                    description: |
                      under the manager's MCC).
                    title: >
                      CustomerID is the managed org's own Google Ads account
                      (the sub-account
                    type: string
                  descriptive_name:
                    description: >
                      Empty when AlreadyProvisioned: Erdo does not store
                      Google's display name, and re-reading it would put a
                      Google call on the idempotent path.
                    title: >
                      DescriptiveName is the display name the sub-account was
                      created with.
                    type: string
                  integration_id:
                    format: uuid
                    type: string
                  login_customer_id:
                    description: >
                      the id every request against CustomerID is sent in the
                      context of.
                    title: >
                      LoginCustomerID is the manager account (MCC) the
                      sub-account sits under —
                    type: string
                  org_slug:
                    type: string
                type: object
          description: Success response
        default:
          $ref: '#/components/responses/APIError'
components:
  responses:
    APIError:
      content:
        application/json:
          schema:
            externalDocs:
              url: https://pkg.go.dev/encore.dev/beta/errs#Error
            properties:
              code:
                description: Error code
                example: not_found
                externalDocs:
                  url: https://pkg.go.dev/encore.dev/beta/errs#ErrCode
                type: string
              details:
                description: Error details
                type: object
              message:
                description: Error message
                type: string
            title: APIError
            type: object
      description: Error response
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: An Erdo API key (erdo_api_...) or scoped token (erdo_token_...).

````