# Tag Manager API . accounts . containers . workspaces . variables

## Instance Methods

Creates a GTM Variable.

Deletes a GTM Variable.

Gets a GTM Variable.

Lists all GTM Variables of a Container.

Retrieves the next page of results.

Reverts changes to a GTM Variable in a GTM Workspace.

Updates a GTM Variable.

### Method Details

`create(parent, body)`

    Creates a GTM Variable.

    Args:
      parent: string, GTM Workspace's API relative path. Example: accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id} (required)
      body: object, The request body. (required)
        The object takes the form of:

    { # Represents a Google Tag Manager Variable.
      "scheduleStartMs": "A String", # The start timestamp in milliseconds to schedule a variable.
      "scheduleEndMs": "A String", # The end timestamp in milliseconds to schedule a variable.
      "name": "A String", # Variable display name.
      "variableId": "A String", # The Variable ID uniquely identifies the GTM Variable.
      "type": "A String", # GTM Variable Type.
      "notes": "A String", # User notes on how to apply this variable in the container.
      "enablingTriggerId": [ # 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.
        "A String",
      ],
      "workspaceId": "A String", # GTM Workspace ID.
      "tagManagerUrl": "A String", # Auto generated link to the tag manager UI
      "fingerprint": "A String", # The fingerprint of the GTM Variable as computed at storage time. This value is recomputed whenever the variable is modified.
      "path": "A String", # GTM Variable's API relative path.
      "accountId": "A String", # GTM Account ID.
      "parameter": [ # The variable's parameters.
        { # Represents a Google Tag Manager Parameter.
          "map": [ # This map parameter's parameters (must have keys; keys must be unique).
            # Object with schema name: Parameter
          ],
          "list": [ # This list parameter's parameters (keys will be ignored).
            # Object with schema name: Parameter
          ],
          "value": "A String", # A parameter's value (may contain variable references such as "{{myVariable}}") as appropriate to the specified type.
          "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
          "type": "A String", # 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)
        },
      ],
      "parentFolderId": "A String", # Parent folder id.
      "disablingTriggerId": [ # 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.
        "A String",
      ],
      "containerId": "A String", # GTM Container ID.
    }

    Returns:
      An object of the form:

        { # Represents a Google Tag Manager Variable.
        "scheduleStartMs": "A String", # The start timestamp in milliseconds to schedule a variable.
        "scheduleEndMs": "A String", # The end timestamp in milliseconds to schedule a variable.
        "name": "A String", # Variable display name.
        "variableId": "A String", # The Variable ID uniquely identifies the GTM Variable.
        "type": "A String", # GTM Variable Type.
        "notes": "A String", # User notes on how to apply this variable in the container.
        "enablingTriggerId": [ # 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.
          "A String",
        ],
        "workspaceId": "A String", # GTM Workspace ID.
        "tagManagerUrl": "A String", # Auto generated link to the tag manager UI
        "fingerprint": "A String", # The fingerprint of the GTM Variable as computed at storage time. This value is recomputed whenever the variable is modified.
        "path": "A String", # GTM Variable's API relative path.
        "accountId": "A String", # GTM Account ID.
        "parameter": [ # The variable's parameters.
          { # Represents a Google Tag Manager Parameter.
            "map": [ # This map parameter's parameters (must have keys; keys must be unique).
              # Object with schema name: Parameter
            ],
            "list": [ # This list parameter's parameters (keys will be ignored).
              # Object with schema name: Parameter
            ],
            "value": "A String", # A parameter's value (may contain variable references such as "{{myVariable}}") as appropriate to the specified type.
            "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
            "type": "A String", # 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)
          },
        ],
        "parentFolderId": "A String", # Parent folder id.
        "disablingTriggerId": [ # 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.
          "A String",
        ],
        "containerId": "A String", # GTM Container ID.
      }

`delete(path)`

    Deletes a GTM Variable.

    Args:
      path: string, GTM Variable's API relative path. Example: accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/variables/{variable_id} (required)

`get(path)`

    Gets a GTM Variable.

    Args:
      path: string, GTM Variable's API relative path. Example: accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/variables/{variable_id} (required)

    Returns:
      An object of the form:

        { # Represents a Google Tag Manager Variable.
        "scheduleStartMs": "A String", # The start timestamp in milliseconds to schedule a variable.
        "scheduleEndMs": "A String", # The end timestamp in milliseconds to schedule a variable.
        "name": "A String", # Variable display name.
        "variableId": "A String", # The Variable ID uniquely identifies the GTM Variable.
        "type": "A String", # GTM Variable Type.
        "notes": "A String", # User notes on how to apply this variable in the container.
        "enablingTriggerId": [ # 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.
          "A String",
        ],
        "workspaceId": "A String", # GTM Workspace ID.
        "tagManagerUrl": "A String", # Auto generated link to the tag manager UI
        "fingerprint": "A String", # The fingerprint of the GTM Variable as computed at storage time. This value is recomputed whenever the variable is modified.
        "path": "A String", # GTM Variable's API relative path.
        "accountId": "A String", # GTM Account ID.
        "parameter": [ # The variable's parameters.
          { # Represents a Google Tag Manager Parameter.
            "map": [ # This map parameter's parameters (must have keys; keys must be unique).
              # Object with schema name: Parameter
            ],
            "list": [ # This list parameter's parameters (keys will be ignored).
              # Object with schema name: Parameter
            ],
            "value": "A String", # A parameter's value (may contain variable references such as "{{myVariable}}") as appropriate to the specified type.
            "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
            "type": "A String", # 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)
          },
        ],
        "parentFolderId": "A String", # Parent folder id.
        "disablingTriggerId": [ # 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.
          "A String",
        ],
        "containerId": "A String", # GTM Container ID.
      }

`list(parent, pageToken=None)`

    Lists all GTM Variables of a Container.

    Args:
      parent: string, GTM Workspace's API relative path. Example: accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id} (required)
      pageToken: string, Continuation token for fetching the next page of results.

    Returns:
      An object of the form:

        { # List Variables Response.
        "nextPageToken": "A String", # Continuation token for fetching the next page of results.
        "variable": [ # All GTM Variables of a GTM Container.
          { # Represents a Google Tag Manager Variable.
            "scheduleStartMs": "A String", # The start timestamp in milliseconds to schedule a variable.
            "scheduleEndMs": "A String", # The end timestamp in milliseconds to schedule a variable.
            "name": "A String", # Variable display name.
            "variableId": "A String", # The Variable ID uniquely identifies the GTM Variable.
            "type": "A String", # GTM Variable Type.
            "notes": "A String", # User notes on how to apply this variable in the container.
            "enablingTriggerId": [ # 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.
              "A String",
            ],
            "workspaceId": "A String", # GTM Workspace ID.
            "tagManagerUrl": "A String", # Auto generated link to the tag manager UI
            "fingerprint": "A String", # The fingerprint of the GTM Variable as computed at storage time. This value is recomputed whenever the variable is modified.
            "path": "A String", # GTM Variable's API relative path.
            "accountId": "A String", # GTM Account ID.
            "parameter": [ # The variable's parameters.
              { # Represents a Google Tag Manager Parameter.
                "map": [ # This map parameter's parameters (must have keys; keys must be unique).
                  # Object with schema name: Parameter
                ],
                "list": [ # This list parameter's parameters (keys will be ignored).
                  # Object with schema name: Parameter
                ],
                "value": "A String", # A parameter's value (may contain variable references such as "{{myVariable}}") as appropriate to the specified type.
                "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
                "type": "A String", # 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)
              },
            ],
            "parentFolderId": "A String", # Parent folder id.
            "disablingTriggerId": [ # 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.
              "A String",
            ],
            "containerId": "A String", # GTM Container ID.
          },
        ],
      }

`list_next(previous_request, previous_response)`

    Retrieves the next page of results.

    Args:
      previous_request: The request for the previous page. (required)
      previous_response: The response from the request for the previous page. (required)

    Returns:
      A request object that you can call 'execute()' on to request the next
      page. Returns None if there are no more items in the collection.

`revert(path, fingerprint=None)`

    Reverts changes to a GTM Variable in a GTM Workspace.

    Args:
      path: string, GTM Variable's API relative path. Example: accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/variables/{variable_id} (required)
      fingerprint: string, When provided, this fingerprint must match the fingerprint of the variable in storage.

    Returns:
      An object of the form:

        { # The result of reverting a variable in a workspace.
        "variable": { # Represents a Google Tag Manager Variable. # Variable as it appears in the latest container version since the last workspace synchronization operation. If no variable is present, that means the variable was deleted in the latest container version.
          "scheduleStartMs": "A String", # The start timestamp in milliseconds to schedule a variable.
          "scheduleEndMs": "A String", # The end timestamp in milliseconds to schedule a variable.
          "name": "A String", # Variable display name.
          "variableId": "A String", # The Variable ID uniquely identifies the GTM Variable.
          "type": "A String", # GTM Variable Type.
          "notes": "A String", # User notes on how to apply this variable in the container.
          "enablingTriggerId": [ # 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.
            "A String",
          ],
          "workspaceId": "A String", # GTM Workspace ID.
          "tagManagerUrl": "A String", # Auto generated link to the tag manager UI
          "fingerprint": "A String", # The fingerprint of the GTM Variable as computed at storage time. This value is recomputed whenever the variable is modified.
          "path": "A String", # GTM Variable's API relative path.
          "accountId": "A String", # GTM Account ID.
          "parameter": [ # The variable's parameters.
            { # Represents a Google Tag Manager Parameter.
              "map": [ # This map parameter's parameters (must have keys; keys must be unique).
                # Object with schema name: Parameter
              ],
              "list": [ # This list parameter's parameters (keys will be ignored).
                # Object with schema name: Parameter
              ],
              "value": "A String", # A parameter's value (may contain variable references such as "{{myVariable}}") as appropriate to the specified type.
              "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
              "type": "A String", # 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)
            },
          ],
          "parentFolderId": "A String", # Parent folder id.
          "disablingTriggerId": [ # 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.
            "A String",
          ],
          "containerId": "A String", # GTM Container ID.
        },
      }

`update(path, body, fingerprint=None)`

    Updates a GTM Variable.

    Args:
      path: string, GTM Variable's API relative path. Example: accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/variables/{variable_id} (required)
      body: object, The request body. (required)
        The object takes the form of:

    { # Represents a Google Tag Manager Variable.
      "scheduleStartMs": "A String", # The start timestamp in milliseconds to schedule a variable.
      "scheduleEndMs": "A String", # The end timestamp in milliseconds to schedule a variable.
      "name": "A String", # Variable display name.
      "variableId": "A String", # The Variable ID uniquely identifies the GTM Variable.
      "type": "A String", # GTM Variable Type.
      "notes": "A String", # User notes on how to apply this variable in the container.
      "enablingTriggerId": [ # 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.
        "A String",
      ],
      "workspaceId": "A String", # GTM Workspace ID.
      "tagManagerUrl": "A String", # Auto generated link to the tag manager UI
      "fingerprint": "A String", # The fingerprint of the GTM Variable as computed at storage time. This value is recomputed whenever the variable is modified.
      "path": "A String", # GTM Variable's API relative path.
      "accountId": "A String", # GTM Account ID.
      "parameter": [ # The variable's parameters.
        { # Represents a Google Tag Manager Parameter.
          "map": [ # This map parameter's parameters (must have keys; keys must be unique).
            # Object with schema name: Parameter
          ],
          "list": [ # This list parameter's parameters (keys will be ignored).
            # Object with schema name: Parameter
          ],
          "value": "A String", # A parameter's value (may contain variable references such as "{{myVariable}}") as appropriate to the specified type.
          "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
          "type": "A String", # 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)
        },
      ],
      "parentFolderId": "A String", # Parent folder id.
      "disablingTriggerId": [ # 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.
        "A String",
      ],
      "containerId": "A String", # GTM Container ID.
    }

      fingerprint: string, When provided, this fingerprint must match the fingerprint of the variable in storage.

    Returns:
      An object of the form:

        { # Represents a Google Tag Manager Variable.
        "scheduleStartMs": "A String", # The start timestamp in milliseconds to schedule a variable.
        "scheduleEndMs": "A String", # The end timestamp in milliseconds to schedule a variable.
        "name": "A String", # Variable display name.
        "variableId": "A String", # The Variable ID uniquely identifies the GTM Variable.
        "type": "A String", # GTM Variable Type.
        "notes": "A String", # User notes on how to apply this variable in the container.
        "enablingTriggerId": [ # 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.
          "A String",
        ],
        "workspaceId": "A String", # GTM Workspace ID.
        "tagManagerUrl": "A String", # Auto generated link to the tag manager UI
        "fingerprint": "A String", # The fingerprint of the GTM Variable as computed at storage time. This value is recomputed whenever the variable is modified.
        "path": "A String", # GTM Variable's API relative path.
        "accountId": "A String", # GTM Account ID.
        "parameter": [ # The variable's parameters.
          { # Represents a Google Tag Manager Parameter.
            "map": [ # This map parameter's parameters (must have keys; keys must be unique).
              # Object with schema name: Parameter
            ],
            "list": [ # This list parameter's parameters (keys will be ignored).
              # Object with schema name: Parameter
            ],
            "value": "A String", # A parameter's value (may contain variable references such as "{{myVariable}}") as appropriate to the specified type.
            "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
            "type": "A String", # 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)
          },
        ],
        "parentFolderId": "A String", # Parent folder id.
        "disablingTriggerId": [ # 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.
          "A String",
        ],
        "containerId": "A String", # GTM Container ID.
      }