# Dialogflow API . projects . agent . environments . users . sessions . contexts

## Instance Methods

Creates a context.

Deletes the specified context.

Retrieves the specified context.

Returns the list of all contexts in the specified session.

Retrieves the next page of results.

Updates the specified context.

### Method Details

`create(parent, body=None, x__xgafv=None)`

    Creates a context.

    If the specified context already exists, overrides the context.

    Args:
      parent: string, Required. The session to create a context for.
    Format: `projects/<Project ID>/agent/sessions/<Session ID>` or
    `projects/<Project ID>/agent/environments/<Environment ID>/users/<User
    ID>/sessions/<Session ID>`.
    If `Environment ID` is not specified, we assume default 'draft'
    environment. If `User ID` is not specified, we assume default '-' user. (required)
      body: object, The request body.
        The object takes the form of:

    { # Dialogflow contexts are similar to natural language context. If a person says
        # to you "they are orange", you need context in order to understand what "they"
        # is referring to. Similarly, for Dialogflow to handle an end-user expression
        # like that, it needs to be provided with context in order to correctly match
        # an intent.
        #
        # Using contexts, you can control the flow of a conversation. You can configure
        # contexts for an intent by setting input and output contexts, which are
        # identified by string names. When an intent is matched, any configured output
        # contexts for that intent become active. While any contexts are active,
        # Dialogflow is more likely to match intents that are configured with input
        # contexts that correspond to the currently active contexts.
        #
        # For more information about context, see the
        # [Contexts guide](https://cloud.google.com/dialogflow/docs/contexts-overview).
      "parameters": { # Optional. The collection of parameters associated with this context.
          #
          # Depending on your protocol or client library language, this is a
          # map, associative array, symbol table, dictionary, or JSON object
          # composed of a collection of (MapKey, MapValue) pairs:
          #
          # -   MapKey type: string
          # -   MapKey value: parameter name
          # -   MapValue type:
          #     -   If parameter's entity type is a composite entity: map
          #     -   Else: string or number, depending on parameter value type
          # -   MapValue value:
          #     -   If parameter's entity type is a composite entity:
          #         map from composite entity property names to property values
          #     -   Else: parameter value
        "a_key": "", # Properties of the object.
      },
      "name": "A String", # Required. The unique identifier of the context. Format:
          # `projects/<Project ID>/agent/sessions/<Session ID>/contexts/<Context ID>`,
          # or `projects/<Project ID>/agent/environments/<Environment ID>/users/<User
          # ID>/sessions/<Session ID>/contexts/<Context ID>`.
          #
          # The `Context ID` is always converted to lowercase, may only contain
          # characters in a-zA-Z0-9_-% and may be at most 250 bytes long.
          #
          # If `Environment ID` is not specified, we assume default 'draft'
          # environment. If `User ID` is not specified, we assume default '-' user.
          #
          # The following context names are reserved for internal use by Dialogflow.
          # You should not use these contexts or create contexts with these names:
          #
          # * `__system_counters__`
          # * `*_id_dialog_context`
          # * `*_dialog_params_size`
      "lifespanCount": 42, # Optional. The number of conversational query requests after which the
          # context expires. The default is `0`. If set to `0`, the context expires
          # immediately. Contexts expire automatically after 20 minutes if there
          # are no matching queries.
    }

      x__xgafv: string, V1 error format.
        Allowed values
          1 - v1 error format
          2 - v2 error format

    Returns:
      An object of the form:

        { # Dialogflow contexts are similar to natural language context. If a person says
          # to you "they are orange", you need context in order to understand what "they"
          # is referring to. Similarly, for Dialogflow to handle an end-user expression
          # like that, it needs to be provided with context in order to correctly match
          # an intent.
          #
          # Using contexts, you can control the flow of a conversation. You can configure
          # contexts for an intent by setting input and output contexts, which are
          # identified by string names. When an intent is matched, any configured output
          # contexts for that intent become active. While any contexts are active,
          # Dialogflow is more likely to match intents that are configured with input
          # contexts that correspond to the currently active contexts.
          #
          # For more information about context, see the
          # [Contexts guide](https://cloud.google.com/dialogflow/docs/contexts-overview).
        "parameters": { # Optional. The collection of parameters associated with this context.
            #
            # Depending on your protocol or client library language, this is a
            # map, associative array, symbol table, dictionary, or JSON object
            # composed of a collection of (MapKey, MapValue) pairs:
            #
            # -   MapKey type: string
            # -   MapKey value: parameter name
            # -   MapValue type:
            #     -   If parameter's entity type is a composite entity: map
            #     -   Else: string or number, depending on parameter value type
            # -   MapValue value:
            #     -   If parameter's entity type is a composite entity:
            #         map from composite entity property names to property values
            #     -   Else: parameter value
          "a_key": "", # Properties of the object.
        },
        "name": "A String", # Required. The unique identifier of the context. Format:
            # `projects/<Project ID>/agent/sessions/<Session ID>/contexts/<Context ID>`,
            # or `projects/<Project ID>/agent/environments/<Environment ID>/users/<User
            # ID>/sessions/<Session ID>/contexts/<Context ID>`.
            #
            # The `Context ID` is always converted to lowercase, may only contain
            # characters in a-zA-Z0-9_-% and may be at most 250 bytes long.
            #
            # If `Environment ID` is not specified, we assume default 'draft'
            # environment. If `User ID` is not specified, we assume default '-' user.
            #
            # The following context names are reserved for internal use by Dialogflow.
            # You should not use these contexts or create contexts with these names:
            #
            # * `__system_counters__`
            # * `*_id_dialog_context`
            # * `*_dialog_params_size`
        "lifespanCount": 42, # Optional. The number of conversational query requests after which the
            # context expires. The default is `0`. If set to `0`, the context expires
            # immediately. Contexts expire automatically after 20 minutes if there
            # are no matching queries.
      }

`delete(name, x__xgafv=None)`

    Deletes the specified context.

    Args:
      name: string, Required. The name of the context to delete. Format:
    `projects/<Project ID>/agent/sessions/<Session ID>/contexts/<Context ID>`
    or `projects/<Project ID>/agent/environments/<Environment ID>/users/<User
    ID>/sessions/<Session ID>/contexts/<Context ID>`.
    If `Environment ID` is not specified, we assume default 'draft'
    environment. If `User ID` is not specified, we assume default '-' user. (required)
      x__xgafv: string, V1 error format.
        Allowed values
          1 - v1 error format
          2 - v2 error format

    Returns:
      An object of the form:

        { # A generic empty message that you can re-use to avoid defining duplicated
          # empty messages in your APIs. A typical example is to use it as the request
          # or the response type of an API method. For instance:
          #
          #     service Foo {
          #       rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);
          #     }
          #
          # The JSON representation for `Empty` is empty JSON object `{}`.
      }

`get(name, x__xgafv=None)`

    Retrieves the specified context.

    Args:
      name: string, Required. The name of the context. Format:
    `projects/<Project ID>/agent/sessions/<Session ID>/contexts/<Context ID>`
    or `projects/<Project ID>/agent/environments/<Environment ID>/users/<User
    ID>/sessions/<Session ID>/contexts/<Context ID>`.
    If `Environment ID` is not specified, we assume default 'draft'
    environment. If `User ID` is not specified, we assume default '-' user. (required)
      x__xgafv: string, V1 error format.
        Allowed values
          1 - v1 error format
          2 - v2 error format

    Returns:
      An object of the form:

        { # Dialogflow contexts are similar to natural language context. If a person says
          # to you "they are orange", you need context in order to understand what "they"
          # is referring to. Similarly, for Dialogflow to handle an end-user expression
          # like that, it needs to be provided with context in order to correctly match
          # an intent.
          #
          # Using contexts, you can control the flow of a conversation. You can configure
          # contexts for an intent by setting input and output contexts, which are
          # identified by string names. When an intent is matched, any configured output
          # contexts for that intent become active. While any contexts are active,
          # Dialogflow is more likely to match intents that are configured with input
          # contexts that correspond to the currently active contexts.
          #
          # For more information about context, see the
          # [Contexts guide](https://cloud.google.com/dialogflow/docs/contexts-overview).
        "parameters": { # Optional. The collection of parameters associated with this context.
            #
            # Depending on your protocol or client library language, this is a
            # map, associative array, symbol table, dictionary, or JSON object
            # composed of a collection of (MapKey, MapValue) pairs:
            #
            # -   MapKey type: string
            # -   MapKey value: parameter name
            # -   MapValue type:
            #     -   If parameter's entity type is a composite entity: map
            #     -   Else: string or number, depending on parameter value type
            # -   MapValue value:
            #     -   If parameter's entity type is a composite entity:
            #         map from composite entity property names to property values
            #     -   Else: parameter value
          "a_key": "", # Properties of the object.
        },
        "name": "A String", # Required. The unique identifier of the context. Format:
            # `projects/<Project ID>/agent/sessions/<Session ID>/contexts/<Context ID>`,
            # or `projects/<Project ID>/agent/environments/<Environment ID>/users/<User
            # ID>/sessions/<Session ID>/contexts/<Context ID>`.
            #
            # The `Context ID` is always converted to lowercase, may only contain
            # characters in a-zA-Z0-9_-% and may be at most 250 bytes long.
            #
            # If `Environment ID` is not specified, we assume default 'draft'
            # environment. If `User ID` is not specified, we assume default '-' user.
            #
            # The following context names are reserved for internal use by Dialogflow.
            # You should not use these contexts or create contexts with these names:
            #
            # * `__system_counters__`
            # * `*_id_dialog_context`
            # * `*_dialog_params_size`
        "lifespanCount": 42, # Optional. The number of conversational query requests after which the
            # context expires. The default is `0`. If set to `0`, the context expires
            # immediately. Contexts expire automatically after 20 minutes if there
            # are no matching queries.
      }

`list(parent, pageSize=None, pageToken=None, x__xgafv=None)`

    Returns the list of all contexts in the specified session.

    Args:
      parent: string, Required. The session to list all contexts from.
    Format: `projects/<Project ID>/agent/sessions/<Session ID>` or
    `projects/<Project ID>/agent/environments/<Environment ID>/users/<User
    ID>/sessions/<Session ID>`.
    If `Environment ID` is not specified, we assume default 'draft'
    environment. If `User ID` is not specified, we assume default '-' user. (required)
      pageSize: integer, Optional. The maximum number of items to return in a single page. By
    default 100 and at most 1000.
      pageToken: string, Optional. The next_page_token value returned from a previous list request.
      x__xgafv: string, V1 error format.
        Allowed values
          1 - v1 error format
          2 - v2 error format

    Returns:
      An object of the form:

        { # The response message for Contexts.ListContexts.
        "nextPageToken": "A String", # Token to retrieve the next page of results, or empty if there are no
            # more results in the list.
        "contexts": [ # The list of contexts. There will be a maximum number of items
            # returned based on the page_size field in the request.
          { # Dialogflow contexts are similar to natural language context. If a person says
              # to you "they are orange", you need context in order to understand what "they"
              # is referring to. Similarly, for Dialogflow to handle an end-user expression
              # like that, it needs to be provided with context in order to correctly match
              # an intent.
              #
              # Using contexts, you can control the flow of a conversation. You can configure
              # contexts for an intent by setting input and output contexts, which are
              # identified by string names. When an intent is matched, any configured output
              # contexts for that intent become active. While any contexts are active,
              # Dialogflow is more likely to match intents that are configured with input
              # contexts that correspond to the currently active contexts.
              #
              # For more information about context, see the
              # [Contexts guide](https://cloud.google.com/dialogflow/docs/contexts-overview).
            "parameters": { # Optional. The collection of parameters associated with this context.
                #
                # Depending on your protocol or client library language, this is a
                # map, associative array, symbol table, dictionary, or JSON object
                # composed of a collection of (MapKey, MapValue) pairs:
                #
                # -   MapKey type: string
                # -   MapKey value: parameter name
                # -   MapValue type:
                #     -   If parameter's entity type is a composite entity: map
                #     -   Else: string or number, depending on parameter value type
                # -   MapValue value:
                #     -   If parameter's entity type is a composite entity:
                #         map from composite entity property names to property values
                #     -   Else: parameter value
              "a_key": "", # Properties of the object.
            },
            "name": "A String", # Required. The unique identifier of the context. Format:
                # `projects/<Project ID>/agent/sessions/<Session ID>/contexts/<Context ID>`,
                # or `projects/<Project ID>/agent/environments/<Environment ID>/users/<User
                # ID>/sessions/<Session ID>/contexts/<Context ID>`.
                #
                # The `Context ID` is always converted to lowercase, may only contain
                # characters in a-zA-Z0-9_-% and may be at most 250 bytes long.
                #
                # If `Environment ID` is not specified, we assume default 'draft'
                # environment. If `User ID` is not specified, we assume default '-' user.
                #
                # The following context names are reserved for internal use by Dialogflow.
                # You should not use these contexts or create contexts with these names:
                #
                # * `__system_counters__`
                # * `*_id_dialog_context`
                # * `*_dialog_params_size`
            "lifespanCount": 42, # Optional. The number of conversational query requests after which the
                # context expires. The default is `0`. If set to `0`, the context expires
                # immediately. Contexts expire automatically after 20 minutes if there
                # are no matching queries.
          },
        ],
      }

`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.

`patch(name, body=None, updateMask=None, x__xgafv=None)`

    Updates the specified context.

    Args:
      name: string, Required. The unique identifier of the context. Format:
    `projects/<Project ID>/agent/sessions/<Session ID>/contexts/<Context ID>`,
    or `projects/<Project ID>/agent/environments/<Environment ID>/users/<User
    ID>/sessions/<Session ID>/contexts/<Context ID>`.

    The `Context ID` is always converted to lowercase, may only contain
    characters in a-zA-Z0-9_-% and may be at most 250 bytes long.

    If `Environment ID` is not specified, we assume default 'draft'
    environment. If `User ID` is not specified, we assume default '-' user.

    The following context names are reserved for internal use by Dialogflow.
    You should not use these contexts or create contexts with these names:

    * `__system_counters__`
    * `*_id_dialog_context`
    * `*_dialog_params_size` (required)
      body: object, The request body.
        The object takes the form of:

    { # Dialogflow contexts are similar to natural language context. If a person says
        # to you "they are orange", you need context in order to understand what "they"
        # is referring to. Similarly, for Dialogflow to handle an end-user expression
        # like that, it needs to be provided with context in order to correctly match
        # an intent.
        #
        # Using contexts, you can control the flow of a conversation. You can configure
        # contexts for an intent by setting input and output contexts, which are
        # identified by string names. When an intent is matched, any configured output
        # contexts for that intent become active. While any contexts are active,
        # Dialogflow is more likely to match intents that are configured with input
        # contexts that correspond to the currently active contexts.
        #
        # For more information about context, see the
        # [Contexts guide](https://cloud.google.com/dialogflow/docs/contexts-overview).
      "parameters": { # Optional. The collection of parameters associated with this context.
          #
          # Depending on your protocol or client library language, this is a
          # map, associative array, symbol table, dictionary, or JSON object
          # composed of a collection of (MapKey, MapValue) pairs:
          #
          # -   MapKey type: string
          # -   MapKey value: parameter name
          # -   MapValue type:
          #     -   If parameter's entity type is a composite entity: map
          #     -   Else: string or number, depending on parameter value type
          # -   MapValue value:
          #     -   If parameter's entity type is a composite entity:
          #         map from composite entity property names to property values
          #     -   Else: parameter value
        "a_key": "", # Properties of the object.
      },
      "name": "A String", # Required. The unique identifier of the context. Format:
          # `projects/<Project ID>/agent/sessions/<Session ID>/contexts/<Context ID>`,
          # or `projects/<Project ID>/agent/environments/<Environment ID>/users/<User
          # ID>/sessions/<Session ID>/contexts/<Context ID>`.
          #
          # The `Context ID` is always converted to lowercase, may only contain
          # characters in a-zA-Z0-9_-% and may be at most 250 bytes long.
          #
          # If `Environment ID` is not specified, we assume default 'draft'
          # environment. If `User ID` is not specified, we assume default '-' user.
          #
          # The following context names are reserved for internal use by Dialogflow.
          # You should not use these contexts or create contexts with these names:
          #
          # * `__system_counters__`
          # * `*_id_dialog_context`
          # * `*_dialog_params_size`
      "lifespanCount": 42, # Optional. The number of conversational query requests after which the
          # context expires. The default is `0`. If set to `0`, the context expires
          # immediately. Contexts expire automatically after 20 minutes if there
          # are no matching queries.
    }

      updateMask: string, Optional. The mask to control which fields get updated.
      x__xgafv: string, V1 error format.
        Allowed values
          1 - v1 error format
          2 - v2 error format

    Returns:
      An object of the form:

        { # Dialogflow contexts are similar to natural language context. If a person says
          # to you "they are orange", you need context in order to understand what "they"
          # is referring to. Similarly, for Dialogflow to handle an end-user expression
          # like that, it needs to be provided with context in order to correctly match
          # an intent.
          #
          # Using contexts, you can control the flow of a conversation. You can configure
          # contexts for an intent by setting input and output contexts, which are
          # identified by string names. When an intent is matched, any configured output
          # contexts for that intent become active. While any contexts are active,
          # Dialogflow is more likely to match intents that are configured with input
          # contexts that correspond to the currently active contexts.
          #
          # For more information about context, see the
          # [Contexts guide](https://cloud.google.com/dialogflow/docs/contexts-overview).
        "parameters": { # Optional. The collection of parameters associated with this context.
            #
            # Depending on your protocol or client library language, this is a
            # map, associative array, symbol table, dictionary, or JSON object
            # composed of a collection of (MapKey, MapValue) pairs:
            #
            # -   MapKey type: string
            # -   MapKey value: parameter name
            # -   MapValue type:
            #     -   If parameter's entity type is a composite entity: map
            #     -   Else: string or number, depending on parameter value type
            # -   MapValue value:
            #     -   If parameter's entity type is a composite entity:
            #         map from composite entity property names to property values
            #     -   Else: parameter value
          "a_key": "", # Properties of the object.
        },
        "name": "A String", # Required. The unique identifier of the context. Format:
            # `projects/<Project ID>/agent/sessions/<Session ID>/contexts/<Context ID>`,
            # or `projects/<Project ID>/agent/environments/<Environment ID>/users/<User
            # ID>/sessions/<Session ID>/contexts/<Context ID>`.
            #
            # The `Context ID` is always converted to lowercase, may only contain
            # characters in a-zA-Z0-9_-% and may be at most 250 bytes long.
            #
            # If `Environment ID` is not specified, we assume default 'draft'
            # environment. If `User ID` is not specified, we assume default '-' user.
            #
            # The following context names are reserved for internal use by Dialogflow.
            # You should not use these contexts or create contexts with these names:
            #
            # * `__system_counters__`
            # * `*_id_dialog_context`
            # * `*_dialog_params_size`
        "lifespanCount": 42, # Optional. The number of conversational query requests after which the
            # context expires. The default is `0`. If set to `0`, the context expires
            # immediately. Contexts expire automatically after 20 minutes if there
            # are no matching queries.
      }