<html><body>
<style>

body, h1, h2, h3, div, span, p, pre, a {
  margin: 0;
  padding: 0;
  border: 0;
  font-weight: inherit;
  font-style: inherit;
  font-size: 100%;
  font-family: inherit;
  vertical-align: baseline;
}

body {
  font-size: 13px;
  padding: 1em;
}

h1 {
  font-size: 26px;
  margin-bottom: 1em;
}

h2 {
  font-size: 24px;
  margin-bottom: 1em;
}

h3 {
  font-size: 20px;
  margin-bottom: 1em;
  margin-top: 1em;
}

pre, code {
  line-height: 1.5;
  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
}

pre {
  margin-top: 0.5em;
}

h1, h2, h3, p {
  font-family: Arial, sans serif;
}

h1, h2, h3 {
  border-bottom: solid #CCC 1px;
}

.toc_element {
  margin-top: 0.5em;
}

.firstline {
  margin-left: 2 em;
}

.method  {
  margin-top: 1em;
  border: solid 1px #CCC;
  padding: 1em;
  background: #EEE;
}

.details {
  font-weight: bold;
  font-size: 14px;
}

</style>

<h1><a href="audit_v1.html">Enterprise Audit API</a> . <a href="audit_v1.activities.html">activities</a></h1>
<h2>Instance Methods</h2>
<p class="toc_element">
  <code><a href="#list">list(customerId, applicationId, caller=None, startTime=None, actorIpAddress=None, eventName=None, actorApplicationId=None, continuationToken=None, maxResults=None, actorEmail=None, endTime=None)</a></code></p>
<p class="firstline">Retrieves a list of activities for a specific customer and application.</p>
<h3>Method Details</h3>
<div class="method">
    <code class="details" id="list">list(customerId, applicationId, caller=None, startTime=None, actorIpAddress=None, eventName=None, actorApplicationId=None, continuationToken=None, maxResults=None, actorEmail=None, endTime=None)</code>
  <pre>Retrieves a list of activities for a specific customer and application.

Args:
  customerId: string, Represents the customer who is the owner of target object on which action was performed. (required)
  applicationId: string, Application ID of the application on which the event was performed. (required)
  caller: string, Type of the caller.
    Allowed values
      application_owner - Caller is an application owner.
      customer - Caller is a customer.
  startTime: string, Return events which occured at or after this time.
  actorIpAddress: string, IP Address of host where the event was performed. Supports both IPv4 and IPv6 addresses.
  eventName: string, Name of the event being queried.
  actorApplicationId: string, Application ID of the application which interacted on behalf of the user while performing the event.
  continuationToken: string, Next page URL.
  maxResults: integer, Number of activity records to be shown in each page.
  actorEmail: string, Email address of the user who performed the action.
  endTime: string, Return events which occured at or before this time.

Returns:
  An object of the form:

    {
    "items": [ # Each record in read response.
      {
        "kind": "audit#activity", # Kind of resource this is.
        "ownerDomain": "A String", # Domain of source customer.
        "actor": { # User doing the action.
          "applicationId": "A String", # ID of application which interacted on behalf of the user.
          "email": "A String", # Email address of the user.
          "key": "A String", # For OAuth 2LO API requests, consumer_key of the requestor.
          "callerType": "A String", # User or OAuth 2LO request.
        },
        "id": { # Unique identifier for each activity record.
          "uniqQualifier": "A String", # Unique qualifier if multiple events have the same time.
          "applicationId": "A String", # Application ID of the source application.
          "customerId": "A String", # Obfuscated customer ID of the source customer.
          "time": "A String", # Time of occurrence of the activity.
        },
        "ipAddress": "A String", # IP Address of the user doing the action.
        "events": [ # Activity events.
          {
            "eventType": "A String", # Type of event.
            "name": "A String", # Name of event.
            "parameters": [ # Event parameters.
              {
                "name": "A String", # Name of the parameter.
                "value": "A String", # Value of the parameter.
              },
            ],
          },
        ],
      },
    ],
    "kind": "audit#activities", # Kind of list response this is.
    "next": "A String", # Next page URL.
  }</pre>
</div>

</body></html>