{
  "ownerName": "Google",
  "description": "This API allows clients to access and modify container and tag configuration.",
  "servicePath": "",
  "batchPath": "batch",
  "baseUrl": "https://tagmanager.googleapis.com/",
  "title": "Tag Manager API",
  "rootUrl": "https://tagmanager.googleapis.com/",
  "documentationLink": "https://developers.google.com/tag-manager",
  "name": "tagmanager",
  "resources": {
    "accounts": {
      "resources": {
        "permissions": {
          "methods": {
            "create": {
              "request": {
                "$ref": "UserAccess"
              },
              "description": "Creates a user's Account & Container Permissions.",
              "path": "tagmanager/v1/accounts/{accountId}/permissions",
              "httpMethod": "POST",
              "parameters": {
                "accountId": {
                  "required": true,
                  "type": "string",
                  "location": "path",
                  "description": "The GTM Account ID."
                }
              },
              "id": "tagmanager.accounts.permissions.create",
              "response": {
                "$ref": "UserAccess"
              },
              "flatPath": "tagmanager/v1/accounts/{accountId}/permissions",
              "scopes": [
                "https://www.googleapis.com/auth/tagmanager.manage.users"
              ],
              "parameterOrder": [
                "accountId"
              ]
            },
            "list": {
              "response": {
                "$ref": "ListAccountUsersResponse"
              },
              "id": "tagmanager.accounts.permissions.list",
              "parameters": {
                "accountId": {
                  "description": "The GTM Account ID.",
                  "location": "path",
                  "required": true,
                  "type": "string"
                }
              },
              "parameterOrder": [
                "accountId"
              ],
              "scopes": [
                "https://www.googleapis.com/auth/tagmanager.manage.users"
              ],
              "flatPath": "tagmanager/v1/accounts/{accountId}/permissions",
              "path": "tagmanager/v1/accounts/{accountId}/permissions",
              "httpMethod": "GET",
              "description": "List all users that have access to the account along with Account and Container Permissions granted to each of them."
            },
            "delete": {
              "scopes": [
                "https://www.googleapis.com/auth/tagmanager.manage.users"
              ],
              "flatPath": "tagmanager/v1/accounts/{accountId}/permissions/{permissionId}",
              "path": "tagmanager/v1/accounts/{accountId}/permissions/{permissionId}",
              "httpMethod": "DELETE",
              "parameterOrder": [
                "accountId",
                "permissionId"
              ],
              "description": "Removes a user from the account, revoking access to it and all of its containers.",
              "id": "tagmanager.accounts.permissions.delete",
              "parameters": {
                "accountId": {
                  "location": "path",
                  "description": "The GTM Account ID.",
                  "required": true,
                  "type": "string"
                },
                "permissionId": {
                  "description": "The GTM User ID.",
                  "location": "path",
                  "required": true,
                  "type": "string"
                }
              }
            },
            "get": {
              "response": {
                "$ref": "UserAccess"
              },
              "id": "tagmanager.accounts.permissions.get",
              "parameters": {
                "accountId": {
                  "description": "The GTM Account ID.",
                  "location": "path",
                  "required": true,
                  "type": "string"
                },
                "permissionId": {
                  "required": true,
                  "type": "string",
                  "description": "The GTM User ID.",
                  "location": "path"
                }
              },
              "parameterOrder": [
                "accountId",
                "permissionId"
              ],
              "scopes": [
                "https://www.googleapis.com/auth/tagmanager.manage.users"
              ],
              "flatPath": "tagmanager/v1/accounts/{accountId}/permissions/{permissionId}",
              "path": "tagmanager/v1/accounts/{accountId}/permissions/{permissionId}",
              "httpMethod": "GET",
              "description": "Gets a user's Account & Container Permissions."
            },
            "update": {
              "id": "tagmanager.accounts.permissions.update",
              "parameters": {
                "accountId": {
                  "description": "The GTM Account ID.",
                  "location": "path",
                  "required": true,
                  "type": "string"
                },
                "permissionId": {
                  "required": true,
                  "type": "string",
                  "description": "The GTM User ID.",
                  "location": "path"
                }
              },
              "response": {
                "$ref": "UserAccess"
              },
              "scopes": [
                "https://www.googleapis.com/auth/tagmanager.manage.users"
              ],
              "flatPath": "tagmanager/v1/accounts/{accountId}/permissions/{permissionId}",
              "parameterOrder": [
                "accountId",
                "permissionId"
              ],
              "path": "tagmanager/v1/accounts/{accountId}/permissions/{permissionId}",
              "httpMethod": "PUT",
              "request": {
                "$ref": "UserAccess"
              },
              "description": "Updates a user's Account & Container Permissions."
            }
          }
        },
        "containers": {
          "methods": {
            "delete": {
              "parameterOrder": [
                "accountId",
                "containerId"
              ],
              "description": "Deletes a Container.",
              "path": "tagmanager/v1/accounts/{accountId}/containers/{containerId}",
              "httpMethod": "DELETE",
              "flatPath": "tagmanager/v1/accounts/{accountId}/containers/{containerId}",
              "scopes": [
                "https://www.googleapis.com/auth/tagmanager.delete.containers"
              ],
              "parameters": {
                "accountId": {
                  "required": true,
                  "type": "string",
                  "location": "path",
                  "description": "The GTM Account ID."
                },
                "containerId": {
                  "required": true,
                  "type": "string",
                  "location": "path",
                  "description": "The GTM Container ID."
                }
              },
              "id": "tagmanager.accounts.containers.delete"
            },
            "create": {
              "path": "tagmanager/v1/accounts/{accountId}/containers",
              "httpMethod": "POST",
              "request": {
                "$ref": "Container"
              },
              "description": "Creates a Container.",
              "scopes": [
                "https://www.googleapis.com/auth/tagmanager.edit.containers"
              ],
              "flatPath": "tagmanager/v1/accounts/{accountId}/containers",
              "parameterOrder": [
                "accountId"
              ],
              "id": "tagmanager.accounts.containers.create",
              "parameters": {
                "accountId": {
                  "description": "The GTM Account ID.",
                  "location": "path",
                  "required": true,
                  "type": "string"
                }
              },
              "response": {
                "$ref": "Container"
              }
            },
            "list": {
              "path": "tagmanager/v1/accounts/{accountId}/containers",
              "httpMethod": "GET",
              "description": "Lists all Containers that belongs to a GTM Account.",
              "scopes": [
                "https://www.googleapis.com/auth/tagmanager.edit.containers",
                "https://www.googleapis.com/auth/tagmanager.readonly"
              ],
              "flatPath": "tagmanager/v1/accounts/{accountId}/containers",
              "parameterOrder": [
                "accountId"
              ],
              "id": "tagmanager.accounts.containers.list",
              "parameters": {
                "accountId": {
                  "description": "The GTM Account ID.",
                  "location": "path",
                  "required": true,
                  "type": "string"
                }
              },
              "response": {
                "$ref": "ListContainersResponse"
              }
            },
            "get": {
              "description": "Gets a Container.",
              "path": "tagmanager/v1/accounts/{accountId}/containers/{containerId}",
              "httpMethod": "GET",
              "response": {
                "$ref": "Container"
              },
              "parameters": {
                "accountId": {
                  "location": "path",
                  "description": "The GTM Account ID.",
                  "required": true,
                  "type": "string"
                },
                "containerId": {
                  "required": true,
                  "type": "string",
                  "location": "path",
                  "description": "The GTM Container ID."
                }
              },
              "id": "tagmanager.accounts.containers.get",
              "parameterOrder": [
                "accountId",
                "containerId"
              ],
              "flatPath": "tagmanager/v1/accounts/{accountId}/containers/{containerId}",
              "scopes": [
                "https://www.googleapis.com/auth/tagmanager.edit.containers",
                "https://www.googleapis.com/auth/tagmanager.readonly"
              ]
            },
            "update": {
              "parameterOrder": [
                "accountId",
                "containerId"
              ],
              "scopes": [
                "https://www.googleapis.com/auth/tagmanager.edit.containers"
              ],
              "flatPath": "tagmanager/v1/accounts/{accountId}/containers/{containerId}",
              "response": {
                "$ref": "Container"
              },
              "id": "tagmanager.accounts.containers.update",
              "parameters": {
                "containerId": {
                  "required": true,
                  "type": "string",
                  "location": "path",
                  "description": "The GTM Container ID."
                },
                "fingerprint": {
                  "type": "string",
                  "description": "When provided, this fingerprint must match the fingerprint of the container in storage.",
                  "location": "query"
                },
                "accountId": {
                  "required": true,
                  "type": "string",
                  "location": "path",
                  "description": "The GTM Account ID."
                }
              },
              "path": "tagmanager/v1/accounts/{accountId}/containers/{containerId}",
              "httpMethod": "PUT",
              "request": {
                "$ref": "Container"
              },
              "description": "Updates a Container."
            }
          },
          "resources": {
            "move_folders": {
              "methods": {
                "update": {
                  "id": "tagmanager.accounts.containers.move_folders.update",
                  "parameters": {
                    "accountId": {
                      "location": "path",
                      "description": "The GTM Account ID.",
                      "required": true,
                      "type": "string"
                    },
                    "containerId": {
                      "location": "path",
                      "description": "The GTM Container ID.",
                      "required": true,
                      "type": "string"
                    },
                    "variableId": {
                      "location": "query",
                      "description": "The variables to be moved to the folder.",
                      "repeated": true,
                      "type": "string"
                    },
                    "triggerId": {
                      "description": "The triggers to be moved to the folder.",
                      "location": "query",
                      "repeated": true,
                      "type": "string"
                    },
                    "tagId": {
                      "description": "The tags to be moved to the folder.",
                      "location": "query",
                      "repeated": true,
                      "type": "string"
                    },
                    "folderId": {
                      "required": true,
                      "type": "string",
                      "description": "The GTM Folder ID.",
                      "location": "path"
                    }
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/tagmanager.edit.containers"
                  ],
                  "flatPath": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/move_folders/{folderId}",
                  "parameterOrder": [
                    "accountId",
                    "containerId",
                    "folderId"
                  ],
                  "path": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/move_folders/{folderId}",
                  "httpMethod": "PUT",
                  "request": {
                    "$ref": "Folder"
                  },
                  "description": "Moves entities to a GTM Folder."
                }
              }
            },
            "tags": {
              "methods": {
                "delete": {
                  "flatPath": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/tags/{tagId}",
                  "scopes": [
                    "https://www.googleapis.com/auth/tagmanager.edit.containers"
                  ],
                  "parameterOrder": [
                    "accountId",
                    "containerId",
                    "tagId"
                  ],
                  "description": "Deletes a GTM Tag.",
                  "path": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/tags/{tagId}",
                  "httpMethod": "DELETE",
                  "parameters": {
                    "tagId": {
                      "location": "path",
                      "description": "The GTM Tag ID.",
                      "required": true,
                      "type": "string"
                    },
                    "accountId": {
                      "location": "path",
                      "description": "The GTM Account ID.",
                      "required": true,
                      "type": "string"
                    },
                    "containerId": {
                      "location": "path",
                      "description": "The GTM Container ID.",
                      "required": true,
                      "type": "string"
                    }
                  },
                  "id": "tagmanager.accounts.containers.tags.delete"
                },
                "create": {
                  "parameterOrder": [
                    "accountId",
                    "containerId"
                  ],
                  "scopes": [
                    "https://www.googleapis.com/auth/tagmanager.edit.containers"
                  ],
                  "flatPath": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/tags",
                  "response": {
                    "$ref": "Tag"
                  },
                  "id": "tagmanager.accounts.containers.tags.create",
                  "parameters": {
                    "accountId": {
                      "description": "The GTM Account ID.",
                      "location": "path",
                      "required": true,
                      "type": "string"
                    },
                    "containerId": {
                      "description": "The GTM Container ID.",
                      "location": "path",
                      "required": true,
                      "type": "string"
                    }
                  },
                  "path": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/tags",
                  "httpMethod": "POST",
                  "request": {
                    "$ref": "Tag"
                  },
                  "description": "Creates a GTM Tag."
                },
                "list": {
                  "description": "Lists all GTM Tags of a Container.",
                  "path": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/tags",
                  "httpMethod": "GET",
                  "parameterOrder": [
                    "accountId",
                    "containerId"
                  ],
                  "flatPath": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/tags",
                  "scopes": [
                    "https://www.googleapis.com/auth/tagmanager.edit.containers",
                    "https://www.googleapis.com/auth/tagmanager.readonly"
                  ],
                  "response": {
                    "$ref": "ListTagsResponse"
                  },
                  "parameters": {
                    "accountId": {
                      "required": true,
                      "type": "string",
                      "description": "The GTM Account ID.",
                      "location": "path"
                    },
                    "containerId": {
                      "description": "The GTM Container ID.",
                      "location": "path",
                      "required": true,
                      "type": "string"
                    }
                  },
                  "id": "tagmanager.accounts.containers.tags.list"
                },
                "get": {
                  "description": "Gets a GTM Tag.",
                  "path": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/tags/{tagId}",
                  "httpMethod": "GET",
                  "response": {
                    "$ref": "Tag"
                  },
                  "parameters": {
                    "tagId": {
                      "description": "The GTM Tag ID.",
                      "location": "path",
                      "required": true,
                      "type": "string"
                    },
                    "accountId": {
                      "required": true,
                      "type": "string",
                      "location": "path",
                      "description": "The GTM Account ID."
                    },
                    "containerId": {
                      "required": true,
                      "type": "string",
                      "location": "path",
                      "description": "The GTM Container ID."
                    }
                  },
                  "id": "tagmanager.accounts.containers.tags.get",
                  "parameterOrder": [
                    "accountId",
                    "containerId",
                    "tagId"
                  ],
                  "flatPath": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/tags/{tagId}",
                  "scopes": [
                    "https://www.googleapis.com/auth/tagmanager.edit.containers",
                    "https://www.googleapis.com/auth/tagmanager.readonly"
                  ]
                },
                "update": {
                  "request": {
                    "$ref": "Tag"
                  },
                  "description": "Updates a GTM Tag.",
                  "path": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/tags/{tagId}",
                  "httpMethod": "PUT",
                  "parameters": {
                    "containerId": {
                      "description": "The GTM Container ID.",
                      "location": "path",
                      "required": true,
                      "type": "string"
                    },
                    "fingerprint": {
                      "description": "When provided, this fingerprint must match the fingerprint of the tag in storage.",
                      "location": "query",
                      "type": "string"
                    },
                    "accountId": {
                      "required": true,
                      "type": "string",
                      "description": "The GTM Account ID.",
                      "location": "path"
                    },
                    "tagId": {
                      "description": "The GTM Tag ID.",
                      "location": "path",
                      "required": true,
                      "type": "string"
                    }
                  },
                  "id": "tagmanager.accounts.containers.tags.update",
                  "response": {
                    "$ref": "Tag"
                  },
                  "flatPath": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/tags/{tagId}",
                  "scopes": [
                    "https://www.googleapis.com/auth/tagmanager.edit.containers"
                  ],
                  "parameterOrder": [
                    "accountId",
                    "containerId",
                    "tagId"
                  ]
                }
              }
            },
            "versions": {
              "methods": {
                "get": {
                  "id": "tagmanager.accounts.containers.versions.get",
                  "parameters": {
                    "accountId": {
                      "required": true,
                      "type": "string",
                      "location": "path",
                      "description": "The GTM Account ID."
                    },
                    "containerId": {
                      "description": "The GTM Container ID.",
                      "location": "path",
                      "required": true,
                      "type": "string"
                    },
                    "containerVersionId": {
                      "required": true,
                      "type": "string",
                      "location": "path",
                      "description": "The GTM Container Version ID. Specify published to retrieve the currently published version."
                    }
                  },
                  "response": {
                    "$ref": "ContainerVersion"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/tagmanager.edit.containers",
                    "https://www.googleapis.com/auth/tagmanager.edit.containerversions",
                    "https://www.googleapis.com/auth/tagmanager.readonly"
                  ],
                  "flatPath": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/versions/{containerVersionId}",
                  "parameterOrder": [
                    "accountId",
                    "containerId",
                    "containerVersionId"
                  ],
                  "path": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/versions/{containerVersionId}",
                  "httpMethod": "GET",
                  "description": "Gets a Container Version."
                },
                "update": {
                  "parameterOrder": [
                    "accountId",
                    "containerId",
                    "containerVersionId"
                  ],
                  "flatPath": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/versions/{containerVersionId}",
                  "scopes": [
                    "https://www.googleapis.com/auth/tagmanager.edit.containerversions"
                  ],
                  "response": {
                    "$ref": "ContainerVersion"
                  },
                  "parameters": {
                    "accountId": {
                      "description": "The GTM Account ID.",
                      "location": "path",
                      "required": true,
                      "type": "string"
                    },
                    "containerId": {
                      "required": true,
                      "type": "string",
                      "description": "The GTM Container ID.",
                      "location": "path"
                    },
                    "containerVersionId": {
                      "location": "path",
                      "description": "The GTM Container Version ID.",
                      "required": true,
                      "type": "string"
                    },
                    "fingerprint": {
                      "location": "query",
                      "description": "When provided, this fingerprint must match the fingerprint of the container version in storage.",
                      "type": "string"
                    }
                  },
                  "id": "tagmanager.accounts.containers.versions.update",
                  "request": {
                    "$ref": "ContainerVersion"
                  },
                  "description": "Updates a Container Version.",
                  "path": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/versions/{containerVersionId}",
                  "httpMethod": "PUT"
                },
                "delete": {
                  "path": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/versions/{containerVersionId}",
                  "httpMethod": "DELETE",
                  "parameterOrder": [
                    "accountId",
                    "containerId",
                    "containerVersionId"
                  ],
                  "description": "Deletes a Container Version.",
                  "scopes": [
                    "https://www.googleapis.com/auth/tagmanager.edit.containerversions"
                  ],
                  "flatPath": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/versions/{containerVersionId}",
                  "id": "tagmanager.accounts.containers.versions.delete",
                  "parameters": {
                    "containerId": {
                      "required": true,
                      "type": "string",
                      "description": "The GTM Container ID.",
                      "location": "path"
                    },
                    "containerVersionId": {
                      "required": true,
                      "type": "string",
                      "description": "The GTM Container Version ID.",
                      "location": "path"
                    },
                    "accountId": {
                      "required": true,
                      "type": "string",
                      "description": "The GTM Account ID.",
                      "location": "path"
                    }
                  }
                },
                "restore": {
                  "response": {
                    "$ref": "ContainerVersion"
                  },
                  "parameters": {
                    "containerId": {
                      "required": true,
                      "type": "string",
                      "description": "The GTM Container ID.",
                      "location": "path"
                    },
                    "containerVersionId": {
                      "description": "The GTM Container Version ID.",
                      "location": "path",
                      "required": true,
                      "type": "string"
                    },
                    "accountId": {
                      "description": "The GTM Account ID.",
                      "location": "path",
                      "required": true,
                      "type": "string"
                    }
                  },
                  "id": "tagmanager.accounts.containers.versions.restore",
                  "parameterOrder": [
                    "accountId",
                    "containerId",
                    "containerVersionId"
                  ],
                  "flatPath": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/versions/{containerVersionId}/restore",
                  "scopes": [
                    "https://www.googleapis.com/auth/tagmanager.edit.containers"
                  ],
                  "description": "Restores a Container Version. This will overwrite the container's current configuration (including its variables, triggers and tags). The operation will not have any effect on the version that is being served (i.e. the published version).",
                  "path": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/versions/{containerVersionId}/restore",
                  "httpMethod": "POST"
                },
                "create": {
                  "path": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/versions",
                  "httpMethod": "POST",
                  "request": {
                    "$ref": "CreateContainerVersionRequestVersionOptions"
                  },
                  "description": "Creates a Container Version.",
                  "response": {
                    "$ref": "CreateContainerVersionResponse"
                  },
                  "id": "tagmanager.accounts.containers.versions.create",
                  "parameters": {
                    "accountId": {
                      "description": "The GTM Account ID.",
                      "location": "path",
                      "required": true,
                      "type": "string"
                    },
                    "containerId": {
                      "description": "The GTM Container ID.",
                      "location": "path",
                      "required": true,
                      "type": "string"
                    }
                  },
                  "parameterOrder": [
                    "accountId",
                    "containerId"
                  ],
                  "scopes": [
                    "https://www.googleapis.com/auth/tagmanager.edit.containerversions"
                  ],
                  "flatPath": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/versions"
                },
                "undelete": {
                  "path": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/versions/{containerVersionId}/undelete",
                  "httpMethod": "POST",
                  "description": "Undeletes a Container Version.",
                  "response": {
                    "$ref": "ContainerVersion"
                  },
                  "id": "tagmanager.accounts.containers.versions.undelete",
                  "parameters": {
                    "containerId": {
                      "required": true,
                      "type": "string",
                      "description": "The GTM Container ID.",
                      "location": "path"
                    },
                    "containerVersionId": {
                      "description": "The GTM Container Version ID.",
                      "location": "path",
                      "required": true,
                      "type": "string"
                    },
                    "accountId": {
                      "required": true,
                      "type": "string",
                      "description": "The GTM Account ID.",
                      "location": "path"
                    }
                  },
                  "parameterOrder": [
                    "accountId",
                    "containerId",
                    "containerVersionId"
                  ],
                  "scopes": [
                    "https://www.googleapis.com/auth/tagmanager.edit.containerversions"
                  ],
                  "flatPath": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/versions/{containerVersionId}/undelete"
                },
                "list": {
                  "response": {
                    "$ref": "ListContainerVersionsResponse"
                  },
                  "parameters": {
                    "containerId": {
                      "required": true,
                      "type": "string",
                      "description": "The GTM Container ID.",
                      "location": "path"
                    },
                    "includeDeleted": {
                      "description": "Also retrieve deleted (archived) versions when true.",
                      "location": "query",
                      "default": "false",
                      "type": "boolean"
                    },
                    "accountId": {
                      "description": "The GTM Account ID.",
                      "location": "path",
                      "required": true,
                      "type": "string"
                    },
                    "headers": {
                      "description": "Retrieve headers only when true.",
                      "location": "query",
                      "default": "false",
                      "type": "boolean"
                    }
                  },
                  "id": "tagmanager.accounts.containers.versions.list",
                  "parameterOrder": [
                    "accountId",
                    "containerId"
                  ],
                  "flatPath": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/versions",
                  "scopes": [
                    "https://www.googleapis.com/auth/tagmanager.edit.containers",
                    "https://www.googleapis.com/auth/tagmanager.edit.containerversions",
                    "https://www.googleapis.com/auth/tagmanager.readonly"
                  ],
                  "description": "Lists all Container Versions of a GTM Container.",
                  "path": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/versions",
                  "httpMethod": "GET"
                },
                "publish": {
                  "path": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/versions/{containerVersionId}/publish",
                  "httpMethod": "POST",
                  "description": "Publishes a Container Version.",
                  "scopes": [
                    "https://www.googleapis.com/auth/tagmanager.publish"
                  ],
                  "flatPath": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/versions/{containerVersionId}/publish",
                  "parameterOrder": [
                    "accountId",
                    "containerId",
                    "containerVersionId"
                  ],
                  "id": "tagmanager.accounts.containers.versions.publish",
                  "parameters": {
                    "containerId": {
                      "required": true,
                      "type": "string",
                      "description": "The GTM Container ID.",
                      "location": "path"
                    },
                    "containerVersionId": {
                      "required": true,
                      "type": "string",
                      "location": "path",
                      "description": "The GTM Container Version ID."
                    },
                    "fingerprint": {
                      "type": "string",
                      "location": "query",
                      "description": "When provided, this fingerprint must match the fingerprint of the container version in storage."
                    },
                    "accountId": {
                      "required": true,
                      "type": "string",
                      "description": "The GTM Account ID.",
                      "location": "path"
                    }
                  },
                  "response": {
                    "$ref": "PublishContainerVersionResponse"
                  }
                }
              }
            },
            "variables": {
              "methods": {
                "delete": {
                  "id": "tagmanager.accounts.containers.variables.delete",
                  "parameters": {
                    "variableId": {
                      "location": "path",
                      "description": "The GTM Variable ID.",
                      "required": true,
                      "type": "string"
                    },
                    "containerId": {
                      "required": true,
                      "type": "string",
                      "description": "The GTM Container ID.",
                      "location": "path"
                    },
                    "accountId": {
                      "description": "The GTM Account ID.",
                      "location": "path",
                      "required": true,
                      "type": "string"
                    }
                  },
                  "path": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/variables/{variableId}",
                  "httpMethod": "DELETE",
                  "parameterOrder": [
                    "accountId",
                    "containerId",
                    "variableId"
                  ],
                  "description": "Deletes a GTM Variable.",
                  "scopes": [
                    "https://www.googleapis.com/auth/tagmanager.edit.containers"
                  ],
                  "flatPath": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/variables/{variableId}"
                },
                "create": {
                  "id": "tagmanager.accounts.containers.variables.create",
                  "parameters": {
                    "accountId": {
                      "location": "path",
                      "description": "The GTM Account ID.",
                      "required": true,
                      "type": "string"
                    },
                    "containerId": {
                      "required": true,
                      "type": "string",
                      "location": "path",
                      "description": "The GTM Container ID."
                    }
                  },
                  "response": {
                    "$ref": "Variable"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/tagmanager.edit.containers"
                  ],
                  "flatPath": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/variables",
                  "parameterOrder": [
                    "accountId",
                    "containerId"
                  ],
                  "path": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/variables",
                  "httpMethod": "POST",
                  "request": {
                    "$ref": "Variable"
                  },
                  "description": "Creates a GTM Variable."
                },
                "list": {
                  "id": "tagmanager.accounts.containers.variables.list",
                  "parameters": {
                    "accountId": {
                      "description": "The GTM Account ID.",
                      "location": "path",
                      "required": true,
                      "type": "string"
                    },
                    "containerId": {
                      "description": "The GTM Container ID.",
                      "location": "path",
                      "required": true,
                      "type": "string"
                    }
                  },
                  "response": {
                    "$ref": "ListVariablesResponse"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/tagmanager.edit.containers",
                    "https://www.googleapis.com/auth/tagmanager.readonly"
                  ],
                  "flatPath": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/variables",
                  "parameterOrder": [
                    "accountId",
                    "containerId"
                  ],
                  "path": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/variables",
                  "httpMethod": "GET",
                  "description": "Lists all GTM Variables of a Container."
                },
                "get": {
                  "scopes": [
                    "https://www.googleapis.com/auth/tagmanager.edit.containers",
                    "https://www.googleapis.com/auth/tagmanager.readonly"
                  ],
                  "flatPath": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/variables/{variableId}",
                  "parameterOrder": [
                    "accountId",
                    "containerId",
                    "variableId"
                  ],
                  "id": "tagmanager.accounts.containers.variables.get",
                  "parameters": {
                    "accountId": {
                      "description": "The GTM Account ID.",
                      "location": "path",
                      "required": true,
                      "type": "string"
                    },
                    "variableId": {
                      "location": "path",
                      "description": "The GTM Variable ID.",
                      "required": true,
                      "type": "string"
                    },
                    "containerId": {
                      "location": "path",
                      "description": "The GTM Container ID.",
                      "required": true,
                      "type": "string"
                    }
                  },
                  "response": {
                    "$ref": "Variable"
                  },
                  "path": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/variables/{variableId}",
                  "httpMethod": "GET",
                  "description": "Gets a GTM Variable."
                },
                "update": {
                  "response": {
                    "$ref": "Variable"
                  },
                  "parameters": {
                    "accountId": {
                      "required": true,
                      "type": "string",
                      "description": "The GTM Account ID.",
                      "location": "path"
                    },
                    "variableId": {
                      "location": "path",
                      "description": "The GTM Variable ID.",
                      "required": true,
                      "type": "string"
                    },
                    "containerId": {
                      "location": "path",
                      "description": "The GTM Container ID.",
                      "required": true,
                      "type": "string"
                    },
                    "fingerprint": {
                      "location": "query",
                      "description": "When provided, this fingerprint must match the fingerprint of the variable in storage.",
                      "type": "string"
                    }
                  },
                  "id": "tagmanager.accounts.containers.variables.update",
                  "parameterOrder": [
                    "accountId",
                    "containerId",
                    "variableId"
                  ],
                  "flatPath": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/variables/{variableId}",
                  "scopes": [
                    "https://www.googleapis.com/auth/tagmanager.edit.containers"
                  ],
                  "request": {
                    "$ref": "Variable"
                  },
                  "description": "Updates a GTM Variable.",
                  "path": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/variables/{variableId}",
                  "httpMethod": "PUT"
                }
              }
            },
            "environments": {
              "methods": {
                "get": {
                  "path": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/environments/{environmentId}",
                  "httpMethod": "GET",
                  "description": "Gets a GTM Environment.",
                  "scopes": [
                    "https://www.googleapis.com/auth/tagmanager.edit.containers",
                    "https://www.googleapis.com/auth/tagmanager.readonly"
                  ],
                  "flatPath": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/environments/{environmentId}",
                  "parameterOrder": [
                    "accountId",
                    "containerId",
                    "environmentId"
                  ],
                  "id": "tagmanager.accounts.containers.environments.get",
                  "parameters": {
                    "containerId": {
                      "required": true,
                      "type": "string",
                      "location": "path",
                      "description": "The GTM Container ID."
                    },
                    "accountId": {
                      "description": "The GTM Account ID.",
                      "location": "path",
                      "required": true,
                      "type": "string"
                    },
                    "environmentId": {
                      "location": "path",
                      "description": "The GTM Environment ID.",
                      "required": true,
                      "type": "string"
                    }
                  },
                  "response": {
                    "$ref": "Environment"
                  }
                },
                "update": {
                  "path": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/environments/{environmentId}",
                  "httpMethod": "PUT",
                  "request": {
                    "$ref": "Environment"
                  },
                  "description": "Updates a GTM Environment.",
                  "parameterOrder": [
                    "accountId",
                    "containerId",
                    "environmentId"
                  ],
                  "scopes": [
                    "https://www.googleapis.com/auth/tagmanager.edit.containers"
                  ],
                  "flatPath": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/environments/{environmentId}",
                  "response": {
                    "$ref": "Environment"
                  },
                  "id": "tagmanager.accounts.containers.environments.update",
                  "parameters": {
                    "containerId": {
                      "required": true,
                      "type": "string",
                      "location": "path",
                      "description": "The GTM Container ID."
                    },
                    "fingerprint": {
                      "type": "string",
                      "description": "When provided, this fingerprint must match the fingerprint of the environment in storage.",
                      "location": "query"
                    },
                    "accountId": {
                      "required": true,
                      "type": "string",
                      "description": "The GTM Account ID.",
                      "location": "path"
                    },
                    "environmentId": {
                      "description": "The GTM Environment ID.",
                      "location": "path",
                      "required": true,
                      "type": "string"
                    }
                  }
                },
                "delete": {
                  "path": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/environments/{environmentId}",
                  "httpMethod": "DELETE",
                  "parameterOrder": [
                    "accountId",
                    "containerId",
                    "environmentId"
                  ],
                  "description": "Deletes a GTM Environment.",
                  "scopes": [
                    "https://www.googleapis.com/auth/tagmanager.edit.containers"
                  ],
                  "flatPath": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/environments/{environmentId}",
                  "id": "tagmanager.accounts.containers.environments.delete",
                  "parameters": {
                    "accountId": {
                      "required": true,
                      "type": "string",
                      "location": "path",
                      "description": "The GTM Account ID."
                    },
                    "environmentId": {
                      "required": true,
                      "type": "string",
                      "location": "path",
                      "description": "The GTM Environment ID."
                    },
                    "containerId": {
                      "required": true,
                      "type": "string",
                      "location": "path",
                      "description": "The GTM Container ID."
                    }
                  }
                },
                "create": {
                  "path": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/environments",
                  "httpMethod": "POST",
                  "request": {
                    "$ref": "Environment"
                  },
                  "description": "Creates a GTM Environment.",
                  "parameterOrder": [
                    "accountId",
                    "containerId"
                  ],
                  "scopes": [
                    "https://www.googleapis.com/auth/tagmanager.edit.containers"
                  ],
                  "flatPath": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/environments",
                  "response": {
                    "$ref": "Environment"
                  },
                  "id": "tagmanager.accounts.containers.environments.create",
                  "parameters": {
                    "accountId": {
                      "required": true,
                      "type": "string",
                      "description": "The GTM Account ID.",
                      "location": "path"
                    },
                    "containerId": {
                      "required": true,
                      "type": "string",
                      "description": "The GTM Container ID.",
                      "location": "path"
                    }
                  }
                },
                "list": {
                  "description": "Lists all GTM Environments of a GTM Container.",
                  "path": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/environments",
                  "httpMethod": "GET",
                  "response": {
                    "$ref": "ListEnvironmentsResponse"
                  },
                  "parameters": {
                    "accountId": {
                      "description": "The GTM Account ID.",
                      "location": "path",
                      "required": true,
                      "type": "string"
                    },
                    "containerId": {
                      "required": true,
                      "type": "string",
                      "description": "The GTM Container ID.",
                      "location": "path"
                    }
                  },
                  "id": "tagmanager.accounts.containers.environments.list",
                  "parameterOrder": [
                    "accountId",
                    "containerId"
                  ],
                  "flatPath": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/environments",
                  "scopes": [
                    "https://www.googleapis.com/auth/tagmanager.edit.containers",
                    "https://www.googleapis.com/auth/tagmanager.readonly"
                  ]
                }
              }
            },
            "folders": {
              "resources": {
                "entities": {
                  "methods": {
                    "list": {
                      "description": "List all entities in a GTM Folder.",
                      "path": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/folders/{folderId}/entities",
                      "httpMethod": "GET",
                      "flatPath": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/folders/{folderId}/entities",
                      "scopes": [
                        "https://www.googleapis.com/auth/tagmanager.edit.containers",
                        "https://www.googleapis.com/auth/tagmanager.readonly"
                      ],
                      "parameterOrder": [
                        "accountId",
                        "containerId",
                        "folderId"
                      ],
                      "parameters": {
                        "accountId": {
                          "required": true,
                          "type": "string",
                          "description": "The GTM Account ID.",
                          "location": "path"
                        },
                        "containerId": {
                          "location": "path",
                          "description": "The GTM Container ID.",
                          "required": true,
                          "type": "string"
                        },
                        "folderId": {
                          "required": true,
                          "type": "string",
                          "description": "The GTM Folder ID.",
                          "location": "path"
                        }
                      },
                      "id": "tagmanager.accounts.containers.folders.entities.list",
                      "response": {
                        "$ref": "FolderEntities"
                      }
                    }
                  }
                }
              },
              "methods": {
                "get": {
                  "path": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/folders/{folderId}",
                  "httpMethod": "GET",
                  "description": "Gets a GTM Folder.",
                  "response": {
                    "$ref": "Folder"
                  },
                  "id": "tagmanager.accounts.containers.folders.get",
                  "parameters": {
                    "containerId": {
                      "required": true,
                      "type": "string",
                      "description": "The GTM Container ID.",
                      "location": "path"
                    },
                    "folderId": {
                      "location": "path",
                      "description": "The GTM Folder ID.",
                      "required": true,
                      "type": "string"
                    },
                    "accountId": {
                      "required": true,
                      "type": "string",
                      "location": "path",
                      "description": "The GTM Account ID."
                    }
                  },
                  "parameterOrder": [
                    "accountId",
                    "containerId",
                    "folderId"
                  ],
                  "scopes": [
                    "https://www.googleapis.com/auth/tagmanager.edit.containers",
                    "https://www.googleapis.com/auth/tagmanager.readonly"
                  ],
                  "flatPath": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/folders/{folderId}"
                },
                "update": {
                  "scopes": [
                    "https://www.googleapis.com/auth/tagmanager.edit.containers"
                  ],
                  "flatPath": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/folders/{folderId}",
                  "parameterOrder": [
                    "accountId",
                    "containerId",
                    "folderId"
                  ],
                  "id": "tagmanager.accounts.containers.folders.update",
                  "parameters": {
                    "accountId": {
                      "required": true,
                      "type": "string",
                      "description": "The GTM Account ID.",
                      "location": "path"
                    },
                    "containerId": {
                      "description": "The GTM Container ID.",
                      "location": "path",
                      "required": true,
                      "type": "string"
                    },
                    "folderId": {
                      "required": true,
                      "type": "string",
                      "description": "The GTM Folder ID.",
                      "location": "path"
                    },
                    "fingerprint": {
                      "type": "string",
                      "description": "When provided, this fingerprint must match the fingerprint of the folder in storage.",
                      "location": "query"
                    }
                  },
                  "response": {
                    "$ref": "Folder"
                  },
                  "path": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/folders/{folderId}",
                  "httpMethod": "PUT",
                  "request": {
                    "$ref": "Folder"
                  },
                  "description": "Updates a GTM Folder."
                },
                "create": {
                  "path": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/folders",
                  "httpMethod": "POST",
                  "request": {
                    "$ref": "Folder"
                  },
                  "description": "Creates a GTM Folder.",
                  "scopes": [
                    "https://www.googleapis.com/auth/tagmanager.edit.containers"
                  ],
                  "flatPath": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/folders",
                  "parameterOrder": [
                    "accountId",
                    "containerId"
                  ],
                  "id": "tagmanager.accounts.containers.folders.create",
                  "parameters": {
                    "accountId": {
                      "required": true,
                      "type": "string",
                      "description": "The GTM Account ID.",
                      "location": "path"
                    },
                    "containerId": {
                      "description": "The GTM Container ID.",
                      "location": "path",
                      "required": true,
                      "type": "string"
                    }
                  },
                  "response": {
                    "$ref": "Folder"
                  }
                },
                "list": {
                  "response": {
                    "$ref": "ListFoldersResponse"
                  },
                  "parameters": {
                    "accountId": {
                      "description": "The GTM Account ID.",
                      "location": "path",
                      "required": true,
                      "type": "string"
                    },
                    "containerId": {
                      "required": true,
                      "type": "string",
                      "description": "The GTM Container ID.",
                      "location": "path"
                    }
                  },
                  "id": "tagmanager.accounts.containers.folders.list",
                  "parameterOrder": [
                    "accountId",
                    "containerId"
                  ],
                  "flatPath": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/folders",
                  "scopes": [
                    "https://www.googleapis.com/auth/tagmanager.edit.containers",
                    "https://www.googleapis.com/auth/tagmanager.readonly"
                  ],
                  "description": "Lists all GTM Folders of a Container.",
                  "path": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/folders",
                  "httpMethod": "GET"
                },
                "delete": {
                  "parameterOrder": [
                    "accountId",
                    "containerId",
                    "folderId"
                  ],
                  "description": "Deletes a GTM Folder.",
                  "path": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/folders/{folderId}",
                  "httpMethod": "DELETE",
                  "flatPath": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/folders/{folderId}",
                  "scopes": [
                    "https://www.googleapis.com/auth/tagmanager.edit.containers"
                  ],
                  "parameters": {
                    "containerId": {
                      "description": "The GTM Container ID.",
                      "location": "path",
                      "required": true,
                      "type": "string"
                    },
                    "folderId": {
                      "required": true,
                      "type": "string",
                      "description": "The GTM Folder ID.",
                      "location": "path"
                    },
                    "accountId": {
                      "location": "path",
                      "description": "The GTM Account ID.",
                      "required": true,
                      "type": "string"
                    }
                  },
                  "id": "tagmanager.accounts.containers.folders.delete"
                }
              }
            },
            "triggers": {
              "methods": {
                "delete": {
                  "id": "tagmanager.accounts.containers.triggers.delete",
                  "parameters": {
                    "accountId": {
                      "required": true,
                      "type": "string",
                      "location": "path",
                      "description": "The GTM Account ID."
                    },
                    "containerId": {
                      "required": true,
                      "type": "string",
                      "description": "The GTM Container ID.",
                      "location": "path"
                    },
                    "triggerId": {
                      "required": true,
                      "type": "string",
                      "description": "The GTM Trigger ID.",
                      "location": "path"
                    }
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/tagmanager.edit.containers"
                  ],
                  "flatPath": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/triggers/{triggerId}",
                  "path": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/triggers/{triggerId}",
                  "httpMethod": "DELETE",
                  "parameterOrder": [
                    "accountId",
                    "containerId",
                    "triggerId"
                  ],
                  "description": "Deletes a GTM Trigger."
                },
                "create": {
                  "parameters": {
                    "accountId": {
                      "required": true,
                      "type": "string",
                      "description": "The GTM Account ID.",
                      "location": "path"
                    },
                    "containerId": {
                      "required": true,
                      "type": "string",
                      "description": "The GTM Container ID.",
                      "location": "path"
                    }
                  },
                  "id": "tagmanager.accounts.containers.triggers.create",
                  "response": {
                    "$ref": "Trigger"
                  },
                  "flatPath": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/triggers",
                  "scopes": [
                    "https://www.googleapis.com/auth/tagmanager.edit.containers"
                  ],
                  "parameterOrder": [
                    "accountId",
                    "containerId"
                  ],
                  "request": {
                    "$ref": "Trigger"
                  },
                  "description": "Creates a GTM Trigger.",
                  "path": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/triggers",
                  "httpMethod": "POST"
                },
                "list": {
                  "parameters": {
                    "accountId": {
                      "location": "path",
                      "description": "The GTM Account ID.",
                      "required": true,
                      "type": "string"
                    },
                    "containerId": {
                      "description": "The GTM Container ID.",
                      "location": "path",
                      "required": true,
                      "type": "string"
                    }
                  },
                  "id": "tagmanager.accounts.containers.triggers.list",
                  "response": {
                    "$ref": "ListTriggersResponse"
                  },
                  "flatPath": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/triggers",
                  "scopes": [
                    "https://www.googleapis.com/auth/tagmanager.edit.containers",
                    "https://www.googleapis.com/auth/tagmanager.readonly"
                  ],
                  "parameterOrder": [
                    "accountId",
                    "containerId"
                  ],
                  "description": "Lists all GTM Triggers of a Container.",
                  "path": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/triggers",
                  "httpMethod": "GET"
                },
                "get": {
                  "response": {
                    "$ref": "Trigger"
                  },
                  "parameters": {
                    "accountId": {
                      "description": "The GTM Account ID.",
                      "location": "path",
                      "required": true,
                      "type": "string"
                    },
                    "containerId": {
                      "required": true,
                      "type": "string",
                      "location": "path",
                      "description": "The GTM Container ID."
                    },
                    "triggerId": {
                      "location": "path",
                      "description": "The GTM Trigger ID.",
                      "required": true,
                      "type": "string"
                    }
                  },
                  "id": "tagmanager.accounts.containers.triggers.get",
                  "parameterOrder": [
                    "accountId",
                    "containerId",
                    "triggerId"
                  ],
                  "flatPath": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/triggers/{triggerId}",
                  "scopes": [
                    "https://www.googleapis.com/auth/tagmanager.edit.containers",
                    "https://www.googleapis.com/auth/tagmanager.readonly"
                  ],
                  "description": "Gets a GTM Trigger.",
                  "path": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/triggers/{triggerId}",
                  "httpMethod": "GET"
                },
                "update": {
                  "request": {
                    "$ref": "Trigger"
                  },
                  "description": "Updates a GTM Trigger.",
                  "path": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/triggers/{triggerId}",
                  "httpMethod": "PUT",
                  "response": {
                    "$ref": "Trigger"
                  },
                  "parameters": {
                    "accountId": {
                      "required": true,
                      "type": "string",
                      "description": "The GTM Account ID.",
                      "location": "path"
                    },
                    "triggerId": {
                      "required": true,
                      "type": "string",
                      "description": "The GTM Trigger ID.",
                      "location": "path"
                    },
                    "containerId": {
                      "description": "The GTM Container ID.",
                      "location": "path",
                      "required": true,
                      "type": "string"
                    },
                    "fingerprint": {
                      "type": "string",
                      "location": "query",
                      "description": "When provided, this fingerprint must match the fingerprint of the trigger in storage."
                    }
                  },
                  "id": "tagmanager.accounts.containers.triggers.update",
                  "parameterOrder": [
                    "accountId",
                    "containerId",
                    "triggerId"
                  ],
                  "flatPath": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/triggers/{triggerId}",
                  "scopes": [
                    "https://www.googleapis.com/auth/tagmanager.edit.containers"
                  ]
                }
              }
            },
            "reauthorize_environments": {
              "methods": {
                "update": {
                  "path": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/reauthorize_environments/{environmentId}",
                  "httpMethod": "PUT",
                  "request": {
                    "$ref": "Environment"
                  },
                  "description": "Re-generates the authorization code for a GTM Environment.",
                  "scopes": [
                    "https://www.googleapis.com/auth/tagmanager.publish"
                  ],
                  "flatPath": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/reauthorize_environments/{environmentId}",
                  "parameterOrder": [
                    "accountId",
                    "containerId",
                    "environmentId"
                  ],
                  "id": "tagmanager.accounts.containers.reauthorize_environments.update",
                  "parameters": {
                    "containerId": {
                      "required": true,
                      "type": "string",
                      "description": "The GTM Container ID.",
                      "location": "path"
                    },
                    "accountId": {
                      "description": "The GTM Account ID.",
                      "location": "path",
                      "required": true,
                      "type": "string"
                    },
                    "environmentId": {
                      "required": true,
                      "type": "string",
                      "description": "The GTM Environment ID.",
                      "location": "path"
                    }
                  },
                  "response": {
                    "$ref": "Environment"
                  }
                }
              }
            }
          }
        }
      },
      "methods": {
        "list": {
          "id": "tagmanager.accounts.list",
          "parameters": {},
          "response": {
            "$ref": "ListAccountsResponse"
          },
          "scopes": [
            "https://www.googleapis.com/auth/tagmanager.edit.containers",
            "https://www.googleapis.com/auth/tagmanager.manage.accounts",
            "https://www.googleapis.com/auth/tagmanager.readonly"
          ],
          "flatPath": "tagmanager/v1/accounts",
          "parameterOrder": [],
          "path": "tagmanager/v1/accounts",
          "httpMethod": "GET",
          "description": "Lists all GTM Accounts that a user has access to."
        },
        "get": {
          "scopes": [
            "https://www.googleapis.com/auth/tagmanager.edit.containers",
            "https://www.googleapis.com/auth/tagmanager.manage.accounts",
            "https://www.googleapis.com/auth/tagmanager.readonly"
          ],
          "flatPath": "tagmanager/v1/accounts/{accountId}",
          "parameterOrder": [
            "accountId"
          ],
          "id": "tagmanager.accounts.get",
          "parameters": {
            "accountId": {
              "required": true,
              "type": "string",
              "description": "The GTM Account ID.",
              "location": "path"
            }
          },
          "response": {
            "$ref": "Account"
          },
          "path": "tagmanager/v1/accounts/{accountId}",
          "httpMethod": "GET",
          "description": "Gets a GTM Account."
        },
        "update": {
          "request": {
            "$ref": "Account"
          },
          "description": "Updates a GTM Account.",
          "path": "tagmanager/v1/accounts/{accountId}",
          "httpMethod": "PUT",
          "flatPath": "tagmanager/v1/accounts/{accountId}",
          "scopes": [
            "https://www.googleapis.com/auth/tagmanager.manage.accounts"
          ],
          "parameterOrder": [
            "accountId"
          ],
          "parameters": {
            "accountId": {
              "required": true,
              "type": "string",
              "description": "The GTM Account ID.",
              "location": "path"
            },
            "fingerprint": {
              "type": "string",
              "location": "query",
              "description": "When provided, this fingerprint must match the fingerprint of the account in storage."
            }
          },
          "id": "tagmanager.accounts.update",
          "response": {
            "$ref": "Account"
          }
        }
      }
    }
  },
  "schemas": {
    "ContainerVersion": {
      "id": "ContainerVersion",
      "type": "object",
      "properties": {
        "containerId": {
          "description": "GTM Container ID.",
          "type": "string"
        },
        "containerVersionId": {
          "description": "The Container Version ID uniquely identifies the GTM Container Version.",
          "type": "string"
        },
        "name": {
          "description": "Container version display name.",
          "type": "string"
        },
        "trigger": {
          "description": "The triggers in the container that this version was taken from.",
          "items": {
            "$ref": "Trigger"
          },
          "type": "array"
        },
        "folder": {
          "type": "array",
          "description": "The folders in the container that this version was taken from.",
          "items": {
            "$ref": "Folder"
          }
        },
        "notes": {
          "description": "User notes on how to apply this container version in the container.",
          "type": "string"
        },
        "tag": {
          "description": "The tags in the container that this version was taken from.",
          "items": {
            "$ref": "Tag"
          },
          "type": "array"
        },
        "fingerprint": {
          "description": "The fingerprint of the GTM Container Version as computed at storage time. This value is recomputed whenever the container version is modified.",
          "type": "string"
        },
        "accountId": {
          "description": "GTM Account ID.",
          "type": "string"
        },
        "deleted": {
          "description": "A value of true indicates this container version has been deleted.",
          "type": "boolean"
        },
        "variable": {
          "description": "The variables in the container that this version was taken from.",
          "items": {
            "$ref": "Variable"
          },
          "type": "array"
        },
        "container": {
          "$ref": "Container",
          "description": "The container that this version was taken from."
        }
      },
      "description": "Represents a Google Tag Manager Container Version."
    },
    "Trigger": {
      "id": "Trigger",
      "type": "object",
      "properties": {
        "continuousTimeMinMilliseconds": {
          "description": "A visibility trigger minimum continuous visible time (in milliseconds). Only valid for AMP Visibility trigger.",
          "$ref": "Parameter"
        },
        "accountId": {
          "description": "GTM Account ID.",
          "type": "string"
        },
        "waitForTags": {
          "description": "Whether or not we should delay the form submissions or link opening until all of the tags have fired (by preventing the default action and later simulating the default action). Only valid for Form Submission and Link Click triggers.",
          "$ref": "Parameter"
        },
        "customEventFilter": {
          "type": "array",
          "description": "Used in the case of custom event, which is fired iff all Conditions are true.",
          "items": {
            "$ref": "Condition"
          }
        },
        "maxTimerLengthSeconds": {
          "description": "Max time to fire Timer Events (in seconds). Only valid for AMP Timer trigger.",
          "$ref": "Parameter"
        },
        "parameter": {
          "type": "array",
          "description": "Additional parameters.",
          "items": {
            "$ref": "Parameter"
          }
        },
        "name": {
          "description": "Trigger display name.",
          "type": "string"
        },
        "eventName": {
          "description": "Name of the GTM event that is fired. Only valid for Timer triggers.",
          "$ref": "Parameter"
        },
        "selector": {
          "description": "A click trigger CSS selector (i.e. \"a\", \"button\" etc.). Only valid for AMP Click trigger.",
          "$ref": "Parameter"
        },
        "triggerId": {
          "description": "The Trigger ID uniquely identifies the GTM Trigger.",
          "type": "string"
        },
        "uniqueTriggerId": {
          "description": "Globally unique id of the trigger that auto-generates this (a Form Submit, Link Click or Timer listener) if any. Used to make incompatible auto-events work together with trigger filtering based on trigger ids. This value is populated during output generation since the tags implied by triggers don't exist until then. Only valid for Form Submit, Link Click and Timer triggers.",
          "$ref": "Parameter"
        },
        "visibilitySelector": {
          "$ref": "Parameter",
          "description": "A visibility trigger CSS selector (i.e. \"#id\"). Only valid for AMP Visibility trigger."
        },
        "autoEventFilter": {
          "type": "array",
          "description": "Used in the case of auto event tracking.",
          "items": {
            "$ref": "Condition"
          }
        },
        "type": {
          "description": "Defines the data layer event that causes this trigger.",
          "type": "string",
          "enumDescriptions": [
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            ""
          ],
          "enum": [
            "pageview",
            "domReady",
            "windowLoaded",
            "customEvent",
            "triggerGroup",
            "always",
            "formSubmission",
            "click",
            "linkClick",
            "jsError",
            "historyChange",
            "timer",
            "ampClick",
            "ampTimer",
            "ampScroll",
            "ampVisibility",
            "youTubeVideo",
            "scrollDepth",
            "elementVisibility"
          ]
        },
        "checkValidation": {
          "$ref": "Parameter",
          "description": "Whether or not we should only fire tags if the form submit or link click event is not cancelled by some other event handler (e.g. because of validation). Only valid for Form Submission and Link Click triggers."
        },
        "interval": {
          "$ref": "Parameter",
          "description": "Time between triggering recurring Timer Events (in milliseconds). Only valid for Timer triggers."
        },
        "visiblePercentageMin": {
          "$ref": "Parameter",
          "description": "A visibility trigger minimum percent visibility. Only valid for AMP Visibility trigger."
        },
        "parentFolderId": {
          "description": "Parent folder id.",
          "type": "string"
        },
        "totalTimeMinMilliseconds": {
          "$ref": "Parameter",
          "description": "A visibility trigger minimum total visible time (in milliseconds). Only valid for AMP Visibility trigger."
        },
        "waitForTagsTimeout": {
          "description": "How long to wait (in milliseconds) for tags to fire when 'waits_for_tags' above evaluates to true. Only valid for Form Submission and Link Click triggers.",
          "$ref": "Parameter"
        },
        "fingerprint": {
          "description": "The fingerprint of the GTM Trigger as computed at storage time. This value is recomputed whenever the trigger is modified.",
          "type": "string"
        },
        "filter": {
          "type": "array",
          "description": "The trigger will only fire iff all Conditions are true.",
          "items": {
            "$ref": "Condition"
          }
        },
        "verticalScrollPercentageList": {
          "description": "List of integer percentage values for scroll triggers. The trigger will fire when each percentage is reached when the view is scrolled vertically. Only valid for AMP scroll triggers.",
          "$ref": "Parameter"
        },
        "containerId": {
          "description": "GTM Container ID.",
          "type": "string"
        },
        "visiblePercentageMax": {
          "description": "A visibility trigger maximum percent visibility. Only valid for AMP Visibility trigger.",
          "$ref": "Parameter"
        },
        "horizontalScrollPercentageList": {
          "$ref": "Parameter",
          "description": "List of integer percentage values for scroll triggers. The trigger will fire when each percentage is reached when the view is scrolled horizontally. Only valid for AMP scroll triggers."
        },
        "limit": {
          "$ref": "Parameter",
          "description": "Limit of the number of GTM events this Timer Trigger will fire. If no limit is set, we will continue to fire GTM events until the user leaves the page. Only valid for Timer triggers."
        },
        "intervalSeconds": {
          "description": "Time between Timer Events to fire (in seconds). Only valid for AMP Timer trigger.",
          "$ref": "Parameter"
        }
      },
      "description": "Represents a Google Tag Manager Trigger"
    },
    "PublishContainerVersionResponse": {
      "id": "PublishContainerVersionResponse",
      "type": "object",
      "properties": {
        "compilerError": {
          "description": "Compiler errors or not.",
          "type": "boolean"
        },
        "containerVersion": {
          "description": "The container version created.",
          "$ref": "ContainerVersion"
        }
      },
      "description": "Publish container version response."
    },
    "TeardownTag": {
      "type": "object",
      "properties": {
        "stopTeardownOnFailure": {
          "description": "If true, fire the teardown tag if and only if the main tag fires successfully. If false, fire the teardown tag regardless of main tag firing status.",
          "type": "boolean"
        },
        "tagName": {
          "description": "The name of the teardown tag.",
          "type": "string"
        }
      },
      "id": "TeardownTag"
    },
    "ListTagsResponse": {
      "id": "ListTagsResponse",
      "type": "object",
      "properties": {
        "tags": {
          "description": "All GTM Tags of a GTM Container.",
          "items": {
            "$ref": "Tag"
          },
          "type": "array"
        }
      },
      "description": "List Tags Response."
    },
    "Container": {
      "description": "Represents a Google Tag Manager Container.",
      "id": "Container",
      "type": "object",
      "properties": {
        "timeZoneCountryId": {
          "description": "Container Country ID.",
          "type": "string"
        },
        "usageContext": {
          "type": "array",
          "description": "List of Usage Contexts for the Container. Valid values include: web, android, ios.",
          "items": {
            "enumDescriptions": [
              "",
              "",
              "",
              "",
              "",
              ""
            ],
            "enum": [
              "web",
              "android",
              "ios",
              "androidSdk5",
              "iosSdk5",
              "amp"
            ],
            "type": "string"
          }
        },
        "accountId": {
          "description": "GTM Account ID.",
          "type": "string"
        },
        "fingerprint": {
          "description": "The fingerprint of the GTM Container as computed at storage time. This value is recomputed whenever the account is modified.",
          "type": "string"
        },
        "publicId": {
          "description": "Container Public ID.",
          "type": "string"
        },
        "domainName": {
          "description": "Optional list of domain names associated with the Container.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "notes": {
          "description": "Container Notes.",
          "type": "string"
        },
        "containerId": {
          "description": "The Container ID uniquely identifies the GTM Container.",
          "type": "string"
        },
        "name": {
          "description": "Container display name.",
          "type": "string"
        },
        "timeZoneId": {
          "description": "Container Time Zone ID.",
          "type": "string"
        },
        "enabledBuiltInVariable": {
          "type": "array",
          "description": "List of enabled built-in variables. Valid values include: pageUrl, pageHostname, pagePath, referrer, event, clickElement, clickClasses, clickId, clickTarget, clickUrl, clickText, formElement, formClasses, formId, formTarget, formUrl, formText, errorMessage, errorUrl, errorLine, newHistoryFragment, oldHistoryFragment, newHistoryState, oldHistoryState, historySource, containerVersion, debugMode, randomNumber, containerId.",
          "items": {
            "type": "string",
            "enumDescriptions": [
              "",
              "",
              "",
              "",
              "For web or mobile.",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "For web or mobile.",
              "",
              "For web or mobile.",
              "For web or mobile.",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              ""
            ],
            "enum": [
              "pageUrl",
              "pageHostname",
              "pagePath",
              "referrer",
              "event",
              "clickElement",
              "clickClasses",
              "clickId",
              "clickTarget",
              "clickUrl",
              "clickText",
              "firstPartyServingUrl",
              "formElement",
              "formClasses",
              "formId",
              "formTarget",
              "formUrl",
              "formText",
              "environmentName",
              "errorMessage",
              "errorUrl",
              "errorLine",
              "newHistoryUrl",
              "oldHistoryUrl",
              "newHistoryFragment",
              "oldHistoryFragment",
              "newHistoryState",
              "oldHistoryState",
              "historySource",
              "containerVersion",
              "debugMode",
              "randomNumber",
              "containerId",
              "appId",
              "appName",
              "appVersionCode",
              "appVersionName",
              "language",
              "osVersion",
              "platform",
              "sdkVersion",
              "deviceName",
              "resolution",
              "advertiserId",
              "advertisingTrackingEnabled",
              "htmlId",
              "ampBrowserLanguage",
              "ampCanonicalPath",
              "ampCanonicalUrl",
              "ampCanonicalHost",
              "ampReferrer",
              "ampTitle",
              "ampClientId",
              "ampClientTimezone",
              "ampClientTimestamp",
              "ampClientScreenWidth",
              "ampClientScreenHeight",
              "ampClientScrollX",
              "ampClientScrollY",
              "ampClientMaxScrollX",
              "ampClientMaxScrollY",
              "ampTotalEngagedTime",
              "ampPageViewId",
              "ampPageLoadTime",
              "ampPageDownloadTime",
              "ampGtmEvent",
              "eventName",
              "firebaseEventParameterCampaign",
              "firebaseEventParameterCampaignAclid",
              "firebaseEventParameterCampaignAnid",
              "firebaseEventParameterCampaignClickTimestamp",
              "firebaseEventParameterCampaignContent",
              "firebaseEventParameterCampaignCp1",
              "firebaseEventParameterCampaignGclid",
              "firebaseEventParameterCampaignSource",
              "firebaseEventParameterCampaignTerm",
              "firebaseEventParameterCurrency",
              "firebaseEventParameterDynamicLinkAcceptTime",
              "firebaseEventParameterDynamicLinkLinkid",
              "firebaseEventParameterNotificationMessageDeviceTime",
              "firebaseEventParameterNotificationMessageId",
              "firebaseEventParameterNotificationMessageName",
              "firebaseEventParameterNotificationMessageTime",
              "firebaseEventParameterNotificationTopic",
              "firebaseEventParameterPreviousAppVersion",
              "firebaseEventParameterPreviousOsVersion",
              "firebaseEventParameterPrice",
              "firebaseEventParameterProductId",
              "firebaseEventParameterQuantity",
              "firebaseEventParameterValue",
              "videoProvider",
              "videoUrl",
              "videoTitle",
              "videoDuration",
              "videoPercent",
              "videoVisible",
              "videoStatus",
              "videoCurrentTime",
              "scrollDepthThreshold",
              "scrollDepthUnits",
              "scrollDepthDirection",
              "elementVisibilityRatio",
              "elementVisibilityTime",
              "elementVisibilityFirstTime",
              "elementVisibilityRecentTime",
              "analyticsClientId",
              "analyticsSessionId",
              "analyticsSessionNumber"
            ]
          }
        }
      }
    },
    "ListTriggersResponse": {
      "id": "ListTriggersResponse",
      "type": "object",
      "properties": {
        "triggers": {
          "type": "array",
          "description": "All GTM Triggers of a GTM Container.",
          "items": {
            "$ref": "Trigger"
          }
        }
      },
      "description": "List triggers response."
    },
    "FolderEntities": {
      "id": "FolderEntities",
      "type": "object",
      "properties": {
        "tag": {
          "type": "array",
          "description": "The list of tags inside the folder.",
          "items": {
            "$ref": "Tag"
          }
        },
        "variable": {
          "description": "The list of variables inside the folder.",
          "items": {
            "$ref": "Variable"
          },
          "type": "array"
        },
        "trigger": {
          "type": "array",
          "description": "The list of triggers inside the folder.",
          "items": {
            "$ref": "Trigger"
          }
        }
      },
      "description": "Represents a Google Tag Manager Folder's contents."
    },
    "Condition": {
      "type": "object",
      "properties": {
        "type": {
          "description": "The type of operator for this condition.",
          "enumDescriptions": [
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            ""
          ],
          "enum": [
            "equals",
            "contains",
            "startsWith",
            "endsWith",
            "matchRegex",
            "greater",
            "greaterOrEquals",
            "less",
            "lessOrEquals",
            "cssSelector",
            "urlMatches"
          ],
          "type": "string"
        },
        "parameter": {
          "type": "array",
          "description": "A list of named parameters (key/value), depending on the condition's type. Notes: - For binary operators, include parameters named arg0 and arg1 for specifying the left and right operands, respectively. - At this time, the left operand (arg0) must be a reference to a variable. - For case-insensitive Regex matching, include a boolean parameter named ignore_case that is set to true. If not specified or set to any other value, the matching will be case sensitive. - To negate an operator, include a boolean parameter named negate boolean parameter that is set to true. ",
          "items": {
            "$ref": "Parameter"
          }
        }
      },
      "id": "Condition",
      "description": "Represents a predicate."
    },
    "SetupTag": {
      "id": "SetupTag",
      "type": "object",
      "properties": {
        "tagName": {
          "description": "The name of the setup tag.",
          "type": "string"
        },
        "stopOnSetupFailure": {
          "description": "If true, fire the main tag if and only if the setup tag fires successfully. If false, fire the main tag regardless of setup tag firing status.",
          "type": "boolean"
        }
      }
    },
    "ListVariablesResponse": {
      "id": "ListVariablesResponse",
      "type": "object",
      "properties": {
        "variables": {
          "description": "All GTM Variables of a GTM Container.",
          "items": {
            "$ref": "Variable"
          },
          "type": "array"
        }
      },
      "description": "List Variables Response."
    },
    "ListContainersResponse": {
      "type": "object",
      "properties": {
        "containers": {
          "type": "array",
          "description": "All Containers of a GTM Account.",
          "items": {
            "$ref": "Container"
          }
        }
      },
      "id": "ListContainersResponse",
      "description": "List Containers Response."
    },
    "Environment": {
      "id": "Environment",
      "type": "object",
      "properties": {
        "environmentId": {
          "description": "GTM Environment ID uniquely identifies the GTM Environment.",
          "type": "string"
        },
        "type": {
          "description": "The type of this environment.",
          "enumDescriptions": [
            "Used for user defined environments.",
            "Used for Live environment, which points to the live published container version.",
            "Used for Latest environment, which points to the latest created container version.",
            "Used for Draft environment, which points to the single draft in the container."
          ],
          "enum": [
            "user",
            "live",
            "latest",
            "draft"
          ],
          "type": "string"
        },
        "url": {
          "description": "Default preview page url for the environment.",
          "type": "string"
        },
        "authorizationCode": {
          "description": "The environment authorization code.",
          "type": "string"
        },
        "containerId": {
          "description": "GTM Container ID.",
          "type": "string"
        },
        "name": {
          "description": "The environment display name. Can be set or changed only on USER type environments.",
          "type": "string"
        },
        "containerVersionId": {
          "type": "string"
        },
        "authorizationTimestampMs": {
          "type": "string",
          "description": "The last update time-stamp for the authorization code.",
          "format": "int64"
        },
        "description": {
          "description": "The environment description. Can be set or changed only on USER type environments.",
          "type": "string"
        },
        "accountId": {
          "description": "GTM Account ID.",
          "type": "string"
        },
        "fingerprint": {
          "description": "The fingerprint of the GTM environment as computed at storage time. This value is recomputed whenever the environment is modified.",
          "type": "string"
        },
        "enableDebug": {
          "description": "Whether or not to enable debug by default on for the environment.",
          "type": "boolean"
        }
      },
      "description": "Represents a Google Tag Manager Environment. Note that a user can create, delete and update environments of type USER, but can only update the enable_debug and url fields of environments of other types."
    },
    "Account": {
      "description": "Represents a Google Tag Manager Account.",
      "type": "object",
      "properties": {
        "name": {
          "description": "Account display name.",
          "type": "string"
        },
        "fingerprint": {
          "description": "The fingerprint of the GTM Account as computed at storage time. This value is recomputed whenever the account is modified.",
          "type": "string"
        },
        "accountId": {
          "description": "The Account ID uniquely identifies the GTM Account.",
          "type": "string"
        },
        "shareData": {
          "description": "Whether the account shares data anonymously with Google and others.",
          "type": "boolean"
        }
      },
      "id": "Account"
    },
    "Variable": {
      "description": "Represents a Google Tag Manager Variable.",
      "id": "Variable",
      "type": "object",
      "properties": {
        "accountId": {
          "description": "GTM Account ID.",
          "type": "string"
        },
        "variableId": {
          "description": "The Variable ID uniquely identifies the GTM Variable.",
          "type": "string"
        },
        "type": {
          "description": "GTM Variable Type.",
          "type": "string"
        },
        "scheduleEndMs": {
          "type": "string",
          "description": "The end timestamp in milliseconds to schedule a variable.",
          "format": "int64"
        },
        "parameter": {
          "type": "array",
          "description": "The variable's parameters.",
          "items": {
            "$ref": "Parameter"
          }
        },
        "name": {
          "description": "Variable display name.",
          "type": "string"
        },
        "scheduleStartMs": {
          "format": "int64",
          "description": "The start timestamp in milliseconds to schedule a variable.",
          "type": "string"
        },
        "enablingTriggerId": {
          "type": "array",
          "description": "For mobile containers only: A list of trigger IDs for enabling conditional variables; the variable is enabled if one of the enabling triggers is true while all the disabling triggers are false. Treated as an unordered set.",
          "items": {
            "type": "string"
          }
        },
        "disablingTriggerId": {
          "type": "array",
          "description": "For mobile containers only: A list of trigger IDs for disabling conditional variables; the variable is enabled if one of the enabling trigger is true while all the disabling trigger are false. Treated as an unordered set.",
          "items": {
            "type": "string"
          }
        },
        "parentFolderId": {
          "description": "Parent folder id.",
          "type": "string"
        },
        "fingerprint": {
          "description": "The fingerprint of the GTM Variable as computed at storage time. This value is recomputed whenever the variable is modified.",
          "type": "string"
        },
        "notes": {
          "description": "User notes on how to apply this variable in the container.",
          "type": "string"
        },
        "containerId": {
          "description": "GTM Container ID.",
          "type": "string"
        }
      }
    },
    "ListAccountsResponse": {
      "type": "object",
      "properties": {
        "accounts": {
          "type": "array",
          "description": "List of GTM Accounts that a user has access to.",
          "items": {
            "$ref": "Account"
          }
        }
      },
      "id": "ListAccountsResponse",
      "description": "List Accounts Response."
    },
    "ContainerVersionHeader": {
      "description": "Represents a Google Tag Manager Container Version Header.",
      "id": "ContainerVersionHeader",
      "type": "object",
      "properties": {
        "numVariables": {
          "description": "Number of variables in the container version.",
          "type": "string"
        },
        "numTriggers": {
          "description": "Number of triggers in the container version.",
          "type": "string"
        },
        "accountId": {
          "description": "GTM Account ID.",
          "type": "string"
        },
        "numTags": {
          "description": "Number of tags in the container version.",
          "type": "string"
        },
        "deleted": {
          "description": "A value of true indicates this container version has been deleted.",
          "type": "boolean"
        },
        "containerId": {
          "description": "GTM Container ID.",
          "type": "string"
        },
        "containerVersionId": {
          "description": "The Container Version ID uniquely identifies the GTM Container Version.",
          "type": "string"
        },
        "name": {
          "description": "Container version display name.",
          "type": "string"
        }
      }
    },
    "AccountAccess": {
      "type": "object",
      "properties": {
        "permission": {
          "description": "List of Account permissions. Valid account permissions are read and manage.",
          "items": {
            "type": "string",
            "enumDescriptions": [
              "",
              "",
              "",
              "",
              "",
              ""
            ],
            "enum": [
              "read",
              "edit",
              "publish",
              "delete",
              "manage",
              "editWorkspace"
            ]
          },
          "type": "array"
        }
      },
      "id": "AccountAccess",
      "description": "Defines the Google Tag Manager Account access permissions."
    },
    "CreateContainerVersionResponse": {
      "description": "Create container versions response.",
      "type": "object",
      "properties": {
        "containerVersion": {
          "$ref": "ContainerVersion",
          "description": "The container version created."
        },
        "compilerError": {
          "description": "Compiler errors or not.",
          "type": "boolean"
        }
      },
      "id": "CreateContainerVersionResponse"
    },
    "ListFoldersResponse": {
      "description": "List Folders Response.",
      "id": "ListFoldersResponse",
      "type": "object",
      "properties": {
        "folders": {
          "description": "All GTM Folders of a GTM Container.",
          "items": {
            "$ref": "Folder"
          },
          "type": "array"
        }
      }
    },
    "ListContainerVersionsResponse": {
      "description": "List container versions response.",
      "id": "ListContainerVersionsResponse",
      "type": "object",
      "properties": {
        "containerVersion": {
          "type": "array",
          "description": "All versions of a GTM Container.",
          "items": {
            "$ref": "ContainerVersion"
          }
        },
        "containerVersionHeader": {
          "description": "All container version headers of a GTM Container.",
          "items": {
            "$ref": "ContainerVersionHeader"
          },
          "type": "array"
        }
      }
    },
    "CreateContainerVersionRequestVersionOptions": {
      "description": "Options for new container versions.",
      "type": "object",
      "properties": {
        "notes": {
          "description": "The notes of the container version to be created.",
          "type": "string"
        },
        "name": {
          "description": "The name of the container version to be created.",
          "type": "string"
        },
        "quickPreview": {
          "description": "The creation of this version may be for quick preview and shouldn't be saved.",
          "type": "boolean"
        }
      },
      "id": "CreateContainerVersionRequestVersionOptions"
    },
    "ContainerAccess": {
      "type": "object",
      "properties": {
        "containerId": {
          "description": "GTM Container ID.",
          "type": "string"
        },
        "permission": {
          "type": "array",
          "description": "List of Container permissions. Valid container permissions are: read, edit, delete, publish.",
          "items": {
            "type": "string",
            "enumDescriptions": [
              "",
              "",
              "",
              "",
              "",
              ""
            ],
            "enum": [
              "read",
              "edit",
              "publish",
              "delete",
              "manage",
              "editWorkspace"
            ]
          }
        }
      },
      "id": "ContainerAccess",
      "description": "Defines the Google Tag Manager Container access permissions."
    },
    "UserAccess": {
      "type": "object",
      "properties": {
        "permissionId": {
          "description": "Account Permission ID.",
          "type": "string"
        },
        "accountAccess": {
          "$ref": "AccountAccess",
          "description": "GTM Account access permissions."
        },
        "containerAccess": {
          "type": "array",
          "description": "GTM Container access permissions.",
          "items": {
            "$ref": "ContainerAccess"
          }
        },
        "accountId": {
          "description": "GTM Account ID.",
          "type": "string"
        },
        "emailAddress": {
          "description": "User's email address.",
          "type": "string"
        }
      },
      "id": "UserAccess",
      "description": "Represents a user's permissions to an account and its container."
    },
    "Parameter": {
      "description": "Represents a Google Tag Manager Parameter.",
      "type": "object",
      "properties": {
        "map": {
          "type": "array",
          "description": "This map parameter's parameters (must have keys; keys must be unique).",
          "items": {
            "$ref": "Parameter"
          }
        },
        "value": {
          "description": "A parameter's value (may contain variable references). as appropriate to the specified type.",
          "type": "string"
        },
        "key": {
          "description": "The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.",
          "type": "string"
        },
        "type": {
          "description": "The parameter type. Valid values are: - boolean: The value represents a boolean, represented as 'true' or 'false' - integer: The value represents a 64-bit signed integer value, in base 10 - list: A list of parameters should be specified - map: A map of parameters should be specified - template: The value represents any text; this can include variable references (even variable references that might return non-string types) - trigger_reference: The value represents a trigger, represented as the trigger id - tag_reference: The value represents a tag, represented as the tag name ",
          "enumDescriptions": [
            "May include variable references.",
            "",
            "",
            "",
            "",
            "",
            ""
          ],
          "enum": [
            "template",
            "integer",
            "boolean",
            "list",
            "map",
            "triggerReference",
            "tagReference"
          ],
          "type": "string"
        },
        "list": {
          "type": "array",
          "description": "This list parameter's parameters (keys will be ignored).",
          "items": {
            "$ref": "Parameter"
          }
        }
      },
      "id": "Parameter"
    },
    "Tag": {
      "id": "Tag",
      "type": "object",
      "properties": {
        "accountId": {
          "description": "GTM Account ID.",
          "type": "string"
        },
        "type": {
          "description": "GTM Tag Type.",
          "type": "string"
        },
        "scheduleEndMs": {
          "description": "The end timestamp in milliseconds to schedule a tag.",
          "format": "int64",
          "type": "string"
        },
        "parameter": {
          "type": "array",
          "description": "The tag's parameters.",
          "items": {
            "$ref": "Parameter"
          }
        },
        "blockingTriggerId": {
          "type": "array",
          "description": "Blocking trigger IDs. If any of the listed triggers evaluate to true, the tag will not fire.",
          "items": {
            "type": "string"
          }
        },
        "teardownTag": {
          "description": "The list of teardown tags. Currently we only allow one.",
          "items": {
            "$ref": "TeardownTag"
          },
          "type": "array"
        },
        "setupTag": {
          "description": "The list of setup tags. Currently we only allow one.",
          "items": {
            "$ref": "SetupTag"
          },
          "type": "array"
        },
        "name": {
          "description": "Tag display name.",
          "type": "string"
        },
        "firingTriggerId": {
          "description": "Firing trigger IDs. A tag will fire when any of the listed triggers are true and all of its blockingTriggerIds (if any specified) are false.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "scheduleStartMs": {
          "description": "The start timestamp in milliseconds to schedule a tag.",
          "format": "int64",
          "type": "string"
        },
        "parentFolderId": {
          "description": "Parent folder id.",
          "type": "string"
        },
        "tagFiringOption": {
          "type": "string",
          "enumDescriptions": [
            "Tag can be fired multiple times per event.",
            "Tag can only be fired per event but can be fired multiple times per load (e.g., app load or page load).",
            "Tag can only be fired per load (e.g., app load or page load)."
          ],
          "enum": [
            "unlimited",
            "oncePerEvent",
            "oncePerLoad"
          ],
          "description": "Option to fire this tag."
        },
        "paused": {
          "description": "True if the tag is paused.",
          "type": "boolean"
        },
        "fingerprint": {
          "description": "The fingerprint of the GTM Tag as computed at storage time. This value is recomputed whenever the tag is modified.",
          "type": "string"
        },
        "tagId": {
          "description": "The Tag ID uniquely identifies the GTM Tag.",
          "type": "string"
        },
        "liveOnly": {
          "description": "If set to true, this tag will only fire in the live environment (e.g. not in preview or debug mode).",
          "type": "boolean"
        },
        "notes": {
          "description": "User notes on how to apply this tag in the container.",
          "type": "string"
        },
        "priority": {
          "$ref": "Parameter",
          "description": "User defined numeric priority of the tag. Tags are fired asynchronously in order of priority. Tags with higher numeric value fire first. A tag's priority can be a positive or negative value. The default value is 0."
        },
        "containerId": {
          "description": "GTM Container ID.",
          "type": "string"
        }
      },
      "description": "Represents a Google Tag Manager Tag."
    },
    "Folder": {
      "description": "Represents a Google Tag Manager Folder.",
      "type": "object",
      "properties": {
        "folderId": {
          "description": "The Folder ID uniquely identifies the GTM Folder.",
          "type": "string"
        },
        "accountId": {
          "description": "GTM Account ID.",
          "type": "string"
        },
        "containerId": {
          "description": "GTM Container ID.",
          "type": "string"
        },
        "name": {
          "description": "Folder display name.",
          "type": "string"
        },
        "fingerprint": {
          "description": "The fingerprint of the GTM Folder as computed at storage time. This value is recomputed whenever the folder is modified.",
          "type": "string"
        }
      },
      "id": "Folder"
    },
    "ListEnvironmentsResponse": {
      "description": "List Environments Response.",
      "id": "ListEnvironmentsResponse",
      "type": "object",
      "properties": {
        "environments": {
          "description": "All Environments of a GTM Container.",
          "items": {
            "$ref": "Environment"
          },
          "type": "array"
        }
      }
    },
    "ListAccountUsersResponse": {
      "description": "List AccountUsers Response.",
      "id": "ListAccountUsersResponse",
      "type": "object",
      "properties": {
        "userAccess": {
          "type": "array",
          "description": "All GTM AccountUsers of a GTM Account.",
          "items": {
            "$ref": "UserAccess"
          }
        }
      }
    }
  },
  "auth": {
    "oauth2": {
      "scopes": {
        "https://www.googleapis.com/auth/tagmanager.delete.containers": {
          "description": "Delete your Google Tag Manager containers"
        },
        "https://www.googleapis.com/auth/tagmanager.edit.containerversions": {
          "description": "Manage your Google Tag Manager container versions"
        },
        "https://www.googleapis.com/auth/tagmanager.manage.accounts": {
          "description": "View and manage your Google Tag Manager accounts"
        },
        "https://www.googleapis.com/auth/tagmanager.edit.containers": {
          "description": "Manage your Google Tag Manager container and its subcomponents, excluding versioning and publishing"
        },
        "https://www.googleapis.com/auth/tagmanager.publish": {
          "description": "Publish your Google Tag Manager container versions"
        },
        "https://www.googleapis.com/auth/tagmanager.manage.users": {
          "description": "Manage user permissions of your Google Tag Manager account and container"
        },
        "https://www.googleapis.com/auth/tagmanager.readonly": {
          "description": "View your Google Tag Manager container and its subcomponents"
        }
      }
    }
  },
  "parameters": {
    "access_token": {
      "type": "string",
      "location": "query",
      "description": "OAuth access token."
    },
    "alt": {
      "type": "string",
      "default": "json",
      "location": "query",
      "description": "Data format for response.",
      "enum": [
        "json",
        "media",
        "proto"
      ],
      "enumDescriptions": [
        "Responses with Content-Type of application/json",
        "Media download with context-dependent Content-Type",
        "Responses with Content-Type of application/x-protobuf"
      ]
    },
    "upload_protocol": {
      "location": "query",
      "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").",
      "type": "string"
    },
    "key": {
      "type": "string",
      "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.",
      "location": "query"
    },
    "oauth_token": {
      "type": "string",
      "description": "OAuth 2.0 token for the current user.",
      "location": "query"
    },
    "fields": {
      "description": "Selector specifying which fields to include in a partial response.",
      "location": "query",
      "type": "string"
    },
    "uploadType": {
      "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").",
      "location": "query",
      "type": "string"
    },
    "$.xgafv": {
      "enum": [
        "1",
        "2"
      ],
      "enumDescriptions": [
        "v1 error format",
        "v2 error format"
      ],
      "location": "query",
      "description": "V1 error format.",
      "type": "string"
    },
    "callback": {
      "location": "query",
      "description": "JSONP",
      "type": "string"
    },
    "quotaUser": {
      "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.",
      "location": "query",
      "type": "string"
    },
    "prettyPrint": {
      "type": "boolean",
      "default": "true",
      "location": "query",
      "description": "Returns response with indentations and line breaks."
    }
  },
  "basePath": "",
  "icons": {
    "x16": "http://www.google.com/images/icons/product/search-16.gif",
    "x32": "http://www.google.com/images/icons/product/search-32.gif"
  },
  "canonicalName": "Tag Manager",
  "mtlsRootUrl": "https://tagmanager.mtls.googleapis.com/",
  "ownerDomain": "google.com",
  "version": "v1",
  "protocol": "rest",
  "discoveryVersion": "v1",
  "id": "tagmanager:v1",
  "kind": "discovery#restDescription",
  "revision": "20260629"
}
